Cod sursa(job #133639)

Utilizator PavelRazvanPavel Razvan PavelRazvan Data 9 februarie 2008 13:00:26
Problema Loto Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.42 kb
 #include<stdlib.h>  
 #include<stdio.h>  
 #include<algorithm>  
 using namespace std;  
 FILE*f=fopen("loto.in","r");  
 FILE*g=fopen("loto.out","w");  
 typedef struct  
         {  
         int b,i,j,k;  
         }element;  
 element v[500002];  
 int n,p=0;  
 int s;  
 int c[1002];  
 void read()  
         {  
         long i;  
         fscanf(f,"%d %d",&n,&s);  
         for(i=0;i<n;++i) fscanf(f,"%d",&c[i]);  
         long j,k;  
         for(i=0;i<n;++i)  
                 for(j=i;j<n;++j)  
                      for(k=j;k<n;++k)  
                          {  
                          v[p].b=c[i]+c[j]+c[k];  
                          v[p].i=c[i]; v[p].j=c[j]; v[p++].k=c[k];  
                          }  
         }  
 int cmp(element a, element b)  
         {  
        return a.b<b.b;  
        }  
int calcul()  
         {  
         int d,i=0,j=p-1;  
         sort(v,v+p,cmp);  
         while(i<=j)  
           {  
           for(d=s-v[i].b;d<v[j].b;--j);  
           if(v[j].b==d && i<=j)  
              {  
              fprintf(g,"%d %d %d %d %d %d\n",v[i].i,v[i].j,v[i].k,v[j].i,v[j].j,v[j].k);  
              return 0;  
              }  
           ++i;  
           }  
   
   
   
         fprintf(g,"-1\n");  
         return 0;  
         }  
 int main()  
         {  
         read();  
         calcul();  
         return 0;  
         }