Cod sursa(job #2736313)

Utilizator vali_27Bojici Valentin vali_27 Data 3 aprilie 2021 12:50:07
Problema Loto Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <iostream>
#include <fstream>
#include <unordered_map>
#include <vector>
int n, S, v[100];
 
struct Info {
	int x, y, z;
};

std::unordered_map<int, Info> map;

int main() 
{
	std::ifstream f("loto.in");
	std::ofstream g("loto.out");

	f >> n >> S;
	 
	for (int i = 0; i < n; ++i)
		f >> v[i];

	for (int i = 0; i < n; ++i)
		for (int j = 0; j < n; ++j)
			for (int k = 0; k < n; ++k)
			{
				int sum3 = v[i] + v[j] + v[k];
 
				map[sum3] = { i,j,k };
			}
	
	for (int i = 0; i < n; ++i)
		for (int j = 0; j < n; ++j)
			for (int k = 0; k < n; ++k)
			{
				int s2 = S - (v[i] + v[j] + v[k]);

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