Cod sursa(job #2299898)

Utilizator lucaperjuLuca Perju Verzotti lucaperju Data 10 decembrie 2018 14:28:11
Problema Loto Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.06 kb
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream cin ("loto.in");
ofstream cout ("loto.out");
int v[103],sume[1000003];
unordered_map<int,bool>mp;
int main()
{
    int n,s,i,k=0,j,y,s1=-1,ok0=1,ok1=1;
    cin>>n>>s;
    for(i=1;i<=n;++i)
        cin>>v[i];
    for(i=1;i<=n;++i)
        for(j=i;j<=n;++j)
            for(y=j;y<=n;++y)
            {
                if(mp[v[i]+v[j]+v[y]]==false)
                    sume[++k]=v[i]+v[j]+v[y];
                mp[v[i]+v[j]+v[y]]=true;
            }
    for(i=1;i<=k;++i)
        if(s-sume[i])
            s1=sume[i];
    if(s1==-1){cout<<s1;return 0;}
    for(i=1;i<=n;++i)
        for(j=i;j<=n;++j)
            for(y=j;y<=n;++y)
            {
                if(v[i]+v[j]+v[y]==s1 && ok1)
                {
                    cout<<v[i]<<' '<<v[j]<<' '<<v[y]<<' ';
                    ok1=0;
                }
                if(v[i]+v[j]+v[y]==s-s1 && ok0)
                {
                    cout<<v[i]<<' '<<v[j]<<' '<<v[y]<<' ';
                    ok0=0;
                }
            }
    return 0;
}