Cod sursa(job #823652)

Utilizator mirceadinoMircea Popoveniuc mirceadino Data 25 noiembrie 2012 14:41:05
Problema Loto Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.08 kb
#include<cstdio>
#include<algorithm>
#include<map>
#define fi first
#define se second
using namespace std;
int n,S,s,i,j,k,a[102];
map<int, pair<int, pair<int,int> > > A;
map<int, pair<int, pair<int,int> > >::iterator it,jt;
int main()
{
    freopen("loto.in","r",stdin);
    freopen("loto.out","w",stdout);
    scanf("%d %d",&n,&S);
    for(i=1;i<=n;i++)
    {
        scanf("%d",&a[i]);
    }
    for(i=1;i<=n;i++)
    {
        for(j=i;j<=n;j++)
        {
            for(k=j;k<=n;k++)
            {
                s=a[i]+a[j]+a[k];
                A.insert(make_pair(s,make_pair(a[i],make_pair(a[j],a[k]))));
            }
        }
    }
    n=A.size();
    for(it=A.begin();it!=A.end();it++)
    {
        s=it->first;
        jt=A.find(S-s);
        if(jt!=A.end())
        {
            printf("%d %d %d ",it->second.first,it->second.second.first,it->second.second.second);
            printf("%d %d %d\n",jt->second.first,jt->second.second.first,jt->second.second.second);
            return 0;
        }
    }
    printf("-1\n");
    return 0;
}