Cod sursa(job #2735065)

Utilizator HadircaDionisieHadirca Dionisie HadircaDionisie Data 1 aprilie 2021 19:40:30
Problema Loto Scor 65
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <iostream>
#include <queue>
#include <unordered_map>
#include <fstream>
using namespace std;

struct threeNums {
	int num1;
	int num2;
	int num3;
};
unordered_map<int, threeNums> d;
ifstream fin("loto.in");
ofstream fout("loto.out");
vector<int> nums;
int n, sum;

void run() {
	for (int i = 0; i < nums.size(); i++) {
		for (int j = 0; j < nums.size(); j++) {
			for (int z = 0; z < nums.size(); z++) {
				int value = nums[i] + nums[j] + nums[z];
				d[value].num1 = nums[i];
				d[value].num2 = nums[j];
				d[value].num3 = nums[z];
				
				if (d.find(sum - value) != d.end()) {
					fout << nums[i] << ' ' << nums[j] << ' ' << nums[z] << ' ' << d[sum-value].num1<<' '<<d[sum-value].num2<<' '<<d[sum-value].num3;
					return;
				}
			}

		}
	}
	fout << -1;
	return;
}
int main() {
	
	fin >> n;
	fin >> sum;


	for (int i = 0; i < n; i++) {
		int digit;
		fin >> digit;
		nums.push_back(digit);
	}

	run();

	return 0;
}