Cod sursa(job #182644)

Utilizator gigi_becaliGigi Becali gigi_becali Data 21 aprilie 2008 10:07:54
Problema Loto Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
using namespace std;
#include <cstdio>
#include <algorithm>

int a[101], x[1000001],n, S;
int N;

inline void afis(int S)
{
    int i,j,k;
    for(i=1;i<=n;++i)
	for(j=1;j<=n;++j)
	    for(k=1;k<=n;++k)
		if(a[i]+a[j]+a[k]==S)
		{
		    printf("%d %d %d\n", a[i],a[j],a[k]);
		    return;
		}
}

int main()
{
    freopen("loto.in","r",stdin);
    freopen("loto.out","w",stdout);
    scanf("%d %d\n", &n, &S);
    int i,j,k;
    for(i=1;i<=n;++i) scanf("%d ", &a[i]);

    for(i=1;i<=n;++i)
	for(j=1;j<=n;++j)
	    for(k=1;k<=n;++k)
		x[++N]=a[i]+a[j]+a[k];

    sort(x+1,x+N+1);

     for(i=1;i<=n;++i)
	for(j=1;j<=n;++j)
	    for(k=1;k<=n;++k)
		if(binary_search(x+1,x+N+1, S-a[i]-a[j]-a[k]))
		{
		    printf("%d %d %d ", a[i], a[j], a[k]);
		    afis(S-a[i]-a[j]-a[k]);
		    return 0;
		}

    printf("-1\n");
    return 0;
}