Cod sursa(job #73195)

Utilizator slayer4uVictor Popescu slayer4u Data 17 iulie 2007 12:40:33
Problema Loto Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<stdio.h>
#include<algorithm>
using namespace std;
struct lol
{
	long a,b,c,sum;
};
lol m[1000001];
long sum[1000001],x[101],s,i,j,a,b,c,k,n,dif;
int cmp(lol a,lol b) 
{ 
	return a.sum<b.sum; 
}
int main()
{
	freopen ("loto.in","rt",stdin);
	freopen ("loto.out","wt",stdout);

	scanf("%ld %ld",&n,&s);
	for (i=1;i<=n;i++)
		scanf("%ld",&x[i]);


	for (a=1;a<=n;a++)
		for (b=a;b<=n;b++)
			for (c=b;c<=n;c++)
				m[++k].sum=a+b+c,m[k].a=a,m[k].b=b,m[k].c=c;

	sort(m+1,m+k+1,cmp);

	i=1;
	j=k;
	while (i<j)
	{
		dif=s-m[i].sum;
		while (m[j].sum>dif)
			j--;
		if (m[j].sum==dif && (i<j))
			{printf("%ld %ld %ld %ld %ld %ld\n",m[i].a,m[i].b,m[i].c,m[j].a,m[j].b,m[j].c);return 0;}
		i++;
	}
	printf("-1\n");
	return 0;
}