Cod sursa(job #1761370)

Utilizator nnnmmmcioltan alex nnnmmm Data 22 septembrie 2016 09:18:41
Problema Loto Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.16 kb
#include<cstdio>
#include<map>
const int NMAX=100;
unsigned int v[NMAX+1];
struct sol{int x[4];};
std::map<int,sol> map;
int main()
{
 FILE *file=fopen("loto.in","r");
 int n,s;
 fscanf(file,"%d %d ",&n,&s);
 for(int i=1;i<=n;i++)
     fscanf(file,"%u ",&v[i]);
 fclose(file);

 for(int x1=1;x1<=n;x1++)
     {
      for(int x2=1;x2<=n;x2++)
          {
           for(int x3=1;x3<=n;x3++)
               {
                sol a;
                a.x[1]=x1,a.x[2]=x2,a.x[3]=x3;
                map[v[x1]+v[x2]+v[x3]]=a;
               }
          }
     }

 file=fopen("loto.out","w");
 for(int x1=1;x1<=n;x1++)
     {
      for(int x2=1;x2<=n;x2++)
          {
           for(int x3=1;x3<=n;x3++)
               {
                if(map.count(s-(v[x1]+v[x2]+v[x3])))
                   {
                    fprintf(file,"%u %u %u ",x1,x2,x3);
                    for(int i=1;i<=3;i++)
                        fprintf(file,"%u ",map[s-(v[x1]+v[x2]+v[x3])].x[i]);
                    fclose(file);
                    return 0;
                   }
               }
          }
     }
 fprintf(file,"-1\n");
 fclose(file);
 return 0;
}