Cod sursa(job #779827)

Utilizator NicuCJNicu B. NicuCJ Data 18 august 2012 22:51:19
Problema Loto Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <fstream>
#include <algorithm>
using namespace std;
int main()
{
	int n, s, a[101], j, i, k, sum, r[7];
	bool ok=false;
	ifstream f("loto.in");
	ofstream g("loto.out");
	f>>n>>s;
	for(i=1; i<=n; i++)
	{
		f>>a[i];
	}
	sort(a+1, a+n+1);
	for(i=1; i<=n; i++)
	{
		for(j=1; j<=n; j++)
		{
			for(k=1; k<=n; k++)
			{
				sum=a[i]+a[j]+a[k];
				r[1]=a[i];
				r[2]=a[j];
				r[3]=a[k];
				int z=3;
				while(sum<=s)
				{
					int lb=lower_bound(a+1, a+n+1, s-sum)-a;
					if(a[lb]<s-sum || a[lb]>s-sum)
						lb--;
					z++;
					r[z]=a[lb];
					sum+=r[z];
					if(sum==s && z==6)
					{
						ok=true;
						break;
					}
					else if(sum>s || z>6)
						break;
				}
				if(ok)
					break;
			}
			if(ok)
				break;
		}
		if(ok)
			break;
	}
	if(ok)
	{
		for(i=1; i<=6; i++)
		{
			g<<r[i]<<" ";
		}
	}
	else
		g<<-1;
}