Cod sursa(job #298567)

Utilizator Anamaria20Cotirlea Anamaria Anamaria20 Data 6 aprilie 2009 11:10:25
Problema Loto Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <cstdio>
# include <algorithm>
#include <vector>

using namespace std;

int N,S;
int v[105];

struct Numere
{
	int a,b,c,suma;
};

vector <Numere> a;

int cmp(const Numere &x, const Numere &y)
{
	return  x.suma<y.suma;
}

int main()
{
	freopen("loto.in","r",stdin);
	freopen("loto.out","w",stdout);
	
	int i,j,k;
	scanf("%d %d",&N,&S);
	
	for (i=1;i<=N;i++) scanf("%d",&v[i]);
	
	for(i=1;i<=N;i++)
	{
		for(j=i;j<=N;j++)
			for(k=j;k<=N;k++)
			{
					Numere x;
					x.a=v[i]; x.b=v[j]; x.c=v[k];
					
					x.suma=v[i]+v[j]+v[j]+v[k];
					a.push_back(x);
			}
	}		
	
	sort(a.begin(),a.end(),cmp);
	
	i=0;j=a.size()-1;
	
	while(i<=j)
	{
		int dif=S-a[i].suma;
		while(a[j].suma>dif) j--;
		
		if (a[j].suma==dif)
		{
			printf("%d %d %d %d %d %d\n",a[i].a,a[i].b,a[i].c,a[j].a,a[j].b,a[j].c);
			return 0;
		}
		i++;
	}
}