Cod sursa(job #518803)

Utilizator dacyanMujdar Dacian dacyan Data 3 ianuarie 2011 05:38:50
Problema Loto Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.1 kb
// cod sursa ms-ninja(test)

#include <fstream>
using namespace std;

#define dim 105
int v[dim], x;

struct loto
{
	int s, nr1, nr2, nr3;
};

loto a[dim*dim*dim];
int cmp(loto x, loto y)
{
	return x.s<y.s;
}





int main()
{
	int i, j, k,  n, s;
	ifstream fin("loto.in");
	ofstream fout("loto.out");
	
	fin>>n >>s;
	for(i=1;i<=n;++i)
		fin>>v[i];
	
	
	int contor=1;
	for(i=1;i<=n;++i)
		for(j=i;j<=n;++j)
			for(k=i;k<=n;++k)
			{
				a[contor].s=v[i]+v[j]+v[k];
				a[contor].nr1=v[i];
				a[contor].nr2=v[j];
				a[contor].nr3=v[k];
				++contor;
			}
	
	sort(a,a+contor,cmp);			
	
	int ls=1;
	int ld=contor-1;
	
	while(ls<=ld)
	{
		if(a[ls].s+a[ld].s==s)
		{
			fout<<a[ls].nr1<<" "<< a[ls].nr2 <<" "<< a[ls].nr3<<" "<< a[ld].nr1<<" "<< a[ld].nr2<<" "<< a[ld].nr3;
			return 0;
		}
		
		while(a[ls].s+a[ld].s>s)
			--ld;
		
		if(a[ls].s+a[ld].s==s)
		{
			fout<<a[ls].nr1<<" "<< a[ls].nr2 <<" "<< a[ls].nr3<<" "<< a[ld].nr1<<" "<< a[ld].nr2<<" "<< a[ld].nr3;
			return 0;
		}
		
		++ls;
	}
		
		
		
		fout<<"-1";							
								
	return 0;
}