Cod sursa(job #2299896)

Utilizator lucaperjuLuca Perju Verzotti lucaperju Data 10 decembrie 2018 14:24:33
Problema Loto Scor 85
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream cin ("loto.in");
ofstream cout ("loto.out");
int v[103];
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)
                mp[v[i]+v[j]+v[y]]=true;
    for(i=1;i<=n;++i)
        for(j=i;j<=n;++j)
            for(y=j;y<=n;++y)
                if(mp[s-v[i]-v[j]-v[y]])
                    s1=v[i]+v[j]+v[y];
    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;
}