Cod sursa(job #2034121)

Utilizator VladAfrasineiAfrasinei VladAfrasinei Data 7 octombrie 2017 14:27:48
Problema Loto Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.06 kb
#include <bits/stdc++.h>
const int maxi = 666013;
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
struct triplet
{
    int x1,x2,x3;
};
vector <int> m[666013];
int a[101],n,S;
int b[10],ct;
int main()
{
    int i,j,k,s;
triplet x;
fin>>n>>S;
for(i=1;i<=n;i++)
    fin>>a[i];
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])%maxi;
            if(s<=S)
            {m[s].push_back(a[i]);
            m[s].push_back(a[j]);
            m[s].push_back(a[k]);
            }
        }
int ok=1;
for(i=1;i<=n&&ok;i++)
    for(j=1;j<=n&&ok;j++)
        for(k=1;k<=n&&ok;k++)
        {
            s=a[i]+a[j]+a[k];
            if(S-s>=0)
            {
            if(!m[(S-s)%maxi].empty())
            {
                ok=0;
                fout<<a[i]<<" "<<a[j]<<" "<<a[k]<<" ";
                for(i=0;i<3;i++)
                    fout<<m[(S-s)%maxi][i]<<" ";
                return 0;
            }
            }

        }
fout<<-1;
    return 0;
}