Cod sursa(job #2254558)

Utilizator flibiaVisanu Cristian flibia Data 5 octombrie 2018 15:56:16
Problema Loto Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <bits/stdc++.h>
#pragma GCC optimize("03")

using namespace std;

ifstream in("loto.in");
ofstream out("loto.out");

int n, s, a[110], st[1000010], vf;
map <int, vector <int> > mp;

int main(){
	in >> n >> s;
	for(int i = 1; i <= n; i++)
		in >> a[i];
	sort(a + 1, a + n + 1);
	for(int i = 1; i <= n; i++)
		for(int j = i; j <= n; j++)
			for(int k = j; k <= n; k++){
				int sum = a[i] + a[j] + a[k];
				if(mp.count(sum))	
					continue;
				mp[sum] = {a[i], a[j], a[k]};
				st[++vf] = sum;
			}
	for(int i = 1; i <= vf; i++)
		if(mp.count(s - st[i])){
			for(auto it : mp[st[i]])
				out << it << ' ';
			for(auto it : mp[s - st[i]])
				out << it << ' ';
			return 0;
		}
	out << -1;
	return 0;
}