Cod sursa(job #202240)

Utilizator piroslPiros Lucian pirosl Data 7 august 2008 01:04:44
Problema Loto Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.03 kb
#include<iostream>
#include<map>
#include<algorithm>
#include<vector>
using namespace std;

//int num[101];

int main(void)
{
	freopen("loto.in", "r", stdin);
	freopen("loto.out", "w", stdout);
	vector<int> num;
	int n, s;
	cin >> n;
	cin >> s;
	for(int i=0;i<n;++i)
	{
		int a;
		cin >> a;
		num.push_back(a);
	}
	
	sort(num.begin(), num.end());
		
	map<int, int> sume;

	for(int i=0;i<n;++i)
	{
		for(int j=n-1;j>=0;--j)
		{
			for(int k=0;k<n;++k)
			{
				sume.insert(make_pair(num.at(i)+num.at(j)+num.at(k), i*100*100 + j*100 + k));
				int sp = s-(num.at(i)+num.at(j)+num.at(k));
				map<int, int>::iterator iter = sume.find(sp);
				if(iter != sume.end())
				{
					int b = iter->second;
					int i1 = b / (100*100);
					b %= 100*100;
					int i2 = b / 100;
					b %= 100;
					int i3 = b;
					cout << num.at(i) << " " << num.at(j) << " " << num.at(k) << " " << num.at(i1) << " " << num.at(i2) << " " << num.at(i3) << endl;
					return 0;
				}
			}
		}
	}
	cout << "-1\n";
	return 0;
}