Cod sursa(job #2046641)

Utilizator tifui.alexandruTifui Ioan Alexandru tifui.alexandru Data 23 octombrie 2017 22:49:49
Problema Loto Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <bits/stdc++.h>
#define Nmax 100000
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
int v[101];
struct trp{int x,y,z;};
map<int,trp> S[Nmax+5];
int main()
{
    int n,s,i,j,k;
    trp x;
    f>>n>>s;
    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])%Nmax][v[i]+v[j]+v[k]]={v[i],v[j],v[k]};
                if(v[i]+v[j]+v[k]<=s)
                if(S[(s-v[i]-v[j]-v[k])%Nmax].find(s-v[i]-v[j]-v[k])!=S[(s-v[i]-v[j]-v[k])%Nmax].end())
                {
                    x=S[(s-v[i]-v[j]-v[k])%Nmax][s-v[i]-v[j]-v[k]];
                    g<<v[i]<<' '<<v[j]<<' '<<v[k]<<' '<<x.x<<' '<<x.y<<' '<<x.z;
                    return 0;
                }
            }

    g<<-1;

    return 0;
}