C,C++/JAVA/BASH/ASM ARENA

वह प्रदीप जो दीख रहा है झिलमिल दूर नही है थक कर बैठ गये क्या भाई मन्जिल दूर नही है चिन्गारी बन गयी लहू की बून्द गिरी जो पग से चमक रहे पीछे मुड देखो चरण-चिनह जगमग से बाकी होश तभी तक, जब तक जलता तूर नही है थक कर बैठ गये क्या भाई मन्जिल दूर नही है अपनी हड्डी की मशाल से हृदय चीरते तम का, सारी रात चले तुम दुख झेलते कुलिश का। एक खेय है शेष, किसी विध पार उसे कर जाओ; वह देखो, उस पार चमकता है मन्दिर प्रियतम का। आकर इतना पास फिरे, वह सच्चा शूर नहीं है; थककर बैठ गये क्या भाई! मंज़िल दूर नहीं है। दिशा दीप्त हो उठी प्राप्त कर पुण्य-प्रकाश तुम्हारा, लिखा जा चुका अनल-अक्षरों में इतिहास तुम्हारा। जिस मिट्टी ने लहू पिया, वह फूल खिलाएगी ही, अम्बर पर घन बन छाएगा ही उच्छ्वास तुम्हारा। और अधिक ले जाँच, देवता इतन क्रूर नहीं है। थककर बैठ गये क्या भाई! मंज़िल दूर नहीं है।

TJU 2199. A+B Problem November 29, 2009

Filed under: C,C++ Programs,Coding,TJU,TLE — whoami @ 20:22
Tags: , ,

TJU 2199. A+B Problem
<em>–TLE–

----its giving TLE----
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#define FOR(x,y,z) for(x=y;x<=z;x++)
int main()
{
  int n,a[1002],b[1002];
  int i,j,k,l,max,tmp,flag;

  while(1)
  {
    scanf("%d",&n);
    if(n==0) break;
    for(i=1;i<=n;i++)
     scanf("%d",&a[i]);

    max=-1;
    FOR(i,1,n)
    {
      flag=0;
      FOR(j,1,n)
      {
        FOR(k,1,n)
        {
         if(i!=j&&i!=k&&j!=k&&a[i]==(a[j]+a[k]))
             {tmp=a[i];flag=1;goto down;}
         }
        }
       down:
       if(tmp>max&&flag==1)
        max=tmp;
      }
    
        printf("%d\n",max);
   }

return 0;
}
Advertisements
 

One Response to “TJU 2199. A+B Problem”

  1. whoami Says:

    –now memory limit exceeded

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    #include<math.h>
    
    
    int compare (int *a, int *b)
    {
           int *da = (int *) a;
           int *db = (int *) b;
    
           return (*da > *db) - (*da < *db);
     }
    
    int main()
    {
      int n,a[1002],b[1002];
      int i,j,k,l,max,tmp,flag,*done;
      done=malloc(sizeof(int)*100000000);
      memset(done,0,sizeof(done));
      while(1)
      {
        scanf("%d",&n);
        if(n==0) break;
        for(i=1;i<=n;i++){
    
         scanf("%d",&a[i]);
         done[a[i]]=1;
         
        }
        qsort (a+1, n, sizeof (int), compare);
        
         
        max=-1;
        for(i=1;i<=n;i++)
        {
          flag=0;
          for(j=1;j<=n;j++)
          {
             if(i!=j&&done[a[i]+a[j]]==1)
             {
               tmp=a[i]+a[j];
               flag=1;break;
             }
           }
           if(tmp>max&&flag==1)
             max=tmp;
         }
            printf("%d\n",max);
       }
    
    return 0;
    }
    

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s