Cod sursa(job #975193)

Utilizator victor_crivatCrivat Victor victor_crivat Data 19 iulie 2013 13:30:35
Problema Loto Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <fstream>
#include <vector>
#define Mod 666013
using namespace std;
struct nod {
    int s,x,y,z;
    };
vector <nod> h[Mod];
vector <nod> :: iterator it;
bool ok;
nod t;
int i,j,m,n,a[1000],ind,w,k,s;
int main()
{ifstream f("loto.in");
ofstream g("loto.out");
f>>n>>w;
for (i=1;i<=n;i++) f>>a[i];
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
for (k=1;k<=n;k++)
{t.x=a[i];
 t.y=a[j];
 t.z=a[k];
t.s=a[i]+a[j]+a[k];
ind=t.s%Mod;
h[ind].push_back(t);
}
ok=true;
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
for (k=1;k<=n;k++)
{s=a[i]+a[j]+a[k];
m=w-s;
ind=m&Mod;
for (it=h[ind].begin();it!=h[ind].end();it++)
if ((*it).s==m&&ok==true) {g<<(*it).x<<" "<<(*it).y<<" "<<(*it).z<<" "<<a[i]<<" "<<a[j]<<" "<<a[k];
                 ok=false;}
}
if (ok==true) g<<-1;
f.close();
g.close();
return 0;
}