Cod sursa(job #2034079)

Utilizator VladAfrasineiAfrasinei VladAfrasinei Data 7 octombrie 2017 13:54:13
Problema Loto Scor 75
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.13 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
struct triplet
{
    int x1,x2,x3;
};
map <int,triplet> m;
map <int,triplet> :: iterator it;
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];
            x.x1=a[i];
            x.x2=a[j];
            x.x3=a[k];
            m[s]=x;
        }
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];
            it=m.find(S-s);
            if(it!=m.end())
            {   ok=0;
                b[++ct]=a[i];
                b[++ct]=a[j];
                b[++ct]=a[k];
                b[++ct]=m[S-s].x1;
                b[++ct]=m[S-s].x2;
                b[++ct]=m[S-s].x3;
                sort(b+1,b+ct+1);
                    for(int l=1;l<=ct;l++)
                        fout<<b[l]<<" ";
                return 0;
            }
        }
fout<<-1;
    return 0;
}