Cod sursa(job #2735123)

Utilizator HadircaDionisieHadirca Dionisie HadircaDionisie Data 1 aprilie 2021 20:26:16
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <iostream>
#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");
int n, sum;

int main() {
	
	fin >> n;
	fin >> sum;
	int *nums = new int[n];

	for (int i = 0; i < n; i++) 
		fin >> nums[i];


	for (int i = 0; i < n;i++) {
		for (int j = i; j < n;j++) {
			for (int z = j; z < n;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];
					fout << ' ' << d[sum-value].num1 << ' ' << d[sum-value].num2 << ' ' << d[sum-value].num3;
					return 0;
				}
			}
		}
	}

	fout << -1;

	delete[] nums;
	return 0;
}