Cod sursa(job #974829)

Utilizator corina.ioanaSerbanescu Corina corina.ioana Data 18 iulie 2013 14:33:49
Problema Loto Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.36 kb
#include <fstream>
#include <vector>
#define Mod 666013
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
struct num
{
    int s,x,y,z;
};
vector <num> H[Mod];
vector <num> :: iterator it;
int i,j,k,N,Sum,S,ind,M,v[101];
bool ok;
int main ()
{
    f>>N>>Sum;
    num t;
    for (i=1; i<=N; i++)
        f>>v[i];
    for (i=1; i<=N; i++)
        for (j=1; j<=N; j++)
            for (k=1; k<=N; k++)
            {
                S=v[i]+v[j]+v[k];
                t.s=S;
                t.x=v[i];
                t.y=v[j];
                t.z=v[k];
                ind=S%Mod;
                H[ind].push_back(t);
            }
    for (i=1; i<=N; i++)
    {
        for (j=1; j<=N; j++)
        {
            for (k=1; k<=N; k++)
            {
                S=v[i]+v[j]+v[k];
                M=Sum-S;
                ind=M%Mod;
                for (it=H[ind].begin(); it!=H[ind].end(); it++)
                {
                    if ((*it).s==M)
                    {
                        g<<(*it).x<<' '<<(*it).y<<' '<<(*it).z<<' '<<v[i]<<' '<<v[j]<<' '<<v[k];
                        ok=true;
                        break;
                    }
                }
                if (ok) break;
            }
            if (ok) break;
        }
        if (ok) break;
    }
    if (!ok) g<<'-1';
    return 0;
}