Cod sursa(job #976420)

Utilizator cristigrigoreGrigore Cristan Andrei cristigrigore Data 23 iulie 2013 11:21:46
Problema Loto Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.31 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;
};
vector <num> H[Mod];
vector <num> :: iterator it;
int i,j,l,n,Sum,S,s1,ind,k,v[103],a[5000],z;
bool ok;
int main ()
{
    f>>n>>S;
    num t;
    for (i=1; i<=n; i++)
        f>>v[i];
    for (i=1; i<=n; i++)
        for (j=1; j<=n; j++)
            for (l=1; l<=n; l++)
            {
                s1=v[i]+v[j]+v[l];
                a[++z]=s1;
                a[++z]=v[i];
                a[++z]=v[j];
                a[++z]=v[l];
                t.s=s1;
                t.x=v[i];
                t.y=v[j];
                ind=s1%Mod;
                H[ind].push_back(t);
            }
    for (i=1; i<=z; i=i+4)
    {

                s1=a[i];
                k=S-s1;
                ind=k%Mod;
                for (it=H[ind].begin(); it!=H[ind].end(); it++)
                {
                    if ((*it).s==k)
                    {
                        g<<(*it).x<<' '<<(*it).y<<' '<<(*it).s-(*it).x-(*it).y<<' '<<a[i+1]<<' '<<a[i+2]<<' '<<a[i+3];
                        ok=true;
                        break;
                    }
                }

        if (ok) break;
    }
    if (!ok) g<<"-1";
    return 0;
}