Cod sursa(job #2736355)

Utilizator vali_27Bojici Valentin vali_27 Data 3 aprilie 2021 13:18:28
Problema Loto Scor 95
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <unordered_map>
int n, S, v[100];

std::ifstream f("loto.in");
std::ofstream g("loto.out");
 
struct Info {
	int x=-1, y=-1, z=-1;
};

std::unordered_map<int, Info> map;

int main() 
{
	f >> n >> S;
	 
	for (int i = 0; i < n; ++i)
		f >> v[i];
 
	std::sort(v, v + n);

	for (int i = 0; i < n; ++i)
		for (int j = i; j < n; ++j)
			for (int k = j; k < n; ++k)
			{
				int sum3 = v[i] + v[j] + v[k];
				if (sum3 > S)break;

				map[sum3] = { i,j,k };

				Info temp = map[S - sum3];
				if (temp.x != -1)
				{
					g << v[temp.x] << ' ' << v[temp.y] << ' ' << v[temp.z] << ' ' << v[i] << ' ' << v[j] << ' ' << v[k];
					return 0;
				}
				
			}
	
	g << -1;
}