Cod sursa(job #856394)

Utilizator Vally77FMI Calinescu Valentin Gelu Vally77 Data 16 ianuarie 2013 14:19:19
Problema Loto Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream ka("loto.in");
ofstream ki("loto.out");	
struct asd
{
   int a, b, c, sum;
}
s[500001];
bool comp(asd a, asd b)
{
    return a.sum < b.sum;
}
long int v[109],S,n,nr,low,high;
int main()
{
	ka>>n>>S;
	for(int i=1;i<=n;i++)
	{
		ka>>v[i];
	}
	for(int k=1;k<=n;k++)
	{
		for(int j=k;j<=n;j++)
		{
			for(int l=j;l<=n;l++)
			{
				s[++nr].sum=v[k]+v[j]+v[l];
				s[nr].a=v[k];
				s[nr].b=v[j];
				s[nr].c=v[l];
			}
		}
	}
	sort(s+1,s+nr+1,comp);
	low=1;high=nr;
	while(low<=high)
	{
		if((s[low].sum+s[high].sum)>S)
			high--;
		else if((s[low].sum+s[high].sum)<S)
			low++;
		else break;
	}
	if(low>high)
		ki<<"-1";
	else
		ki<<s[low].a<<" "<<s[low].b<<" "<<s[low].c<<" "<<s[high].a<<" "<<s[high].b<<" "<<s[high].c; 
	ka.close();
	ki.close();
	return 0;
}