Cod sursa(job #927636)

Utilizator eddy13579Eduard Stoica eddy13579 Data 25 martie 2013 22:07:20
Problema Loto Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
#include<algorithm>
#include<cstdio>
#include<set>
using namespace std;
set<int> sume;
int n,v[105],cnt;
 void prints (int x)
{
    int i,j,k;
    for (i=1; i<=n; i++)
        for (j=i; j<=n; j++)
            for (k=j; k<=n; k++)
                if (v[i]+v[j]+v[k]==x)
                {
                    printf("%d %d %d ",v[i],v[j],v[k]);
                    return;
                }
}
 
int main ()
{
    int i,j,k,s;
    freopen("loto.in","r",stdin);
    freopen("loto.out","w",stdout);
    scanf("%d%d",&n,&s);
    for (i=1; i<=n; i++)
        scanf("%d",&v[i]);
    sort(v+1,v+n+1);
    for (i=1; i<=n; i++)
        for (j=i; j<=n; j++)
            for (k=j; k<=n; k++)
                sume.insert(v[i]+v[j]+v[k]);
    set<int>::iterator it;
    for (it=sume.begin(); it!=sume.end(); ++it)
        if (sume.find(s-(*it))!=sume.end())
        {
            prints(*it);
            prints(s-(*it));
            return 0;
        }
    printf("-1\n");
    return 0;
}