Cod sursa(job #856818)

Utilizator Aida_SilviaStrimbeanu Aida Silvia Aida_Silvia Data 16 ianuarie 2013 23:15:55
Problema Loto Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.24 kb
#include <cstdio>
#include<vector>
#define mod 66013

using namespace std;

typedef struct
{
    int e1,e2,e3;
}val;

int v[173],n,s,x;
val t;

vector< int > hash[mod];
vector< val > h[mod];



int main()
{
    int i,j,k;
    freopen("loto.in","r",stdin);
    freopen("loto.out","w",stdout);

    scanf("%d%d",&n,&s);

    for (i=0;i<n;i++)
        scanf("%d",&v[i]);

    for (i=1;i<=n;i++)
        for (j=i;j<=n;j++)
            for (k=j;k<=n;k++)
            {
                x=v[i]+v[j]+v[k];
                hash[x%mod].push_back(x);
                t.e1=i;t.e2=j;t.e3=k;
                h[x%mod].push_back(t);

            }

 for (i=1;i<=n;i++)
        for (j=i;j<=n;j++)
            for (k=j;k<=n;k++)
            {
                x=v[i]+v[j]+v[k];
                x=s-x;
                if (!hash[x%mod].empty())
                {
                    for (unsigned int y=0;y<hash[x%mod].size();y++)
                        if (hash[x%mod][y]==x){
                            printf("%d %d %d %d %d %d",v[i],v[j],v[k],v[h[x%mod][y].e1],v[h[x%mod][y].e2],v[h[x%mod][y].e3]);
                            return 0;
                    }
                }
            }

printf("-1");

return 0;

}