Pagini recente » Cod sursa (job #497192) | Cod sursa (job #3303154) | Cod sursa (job #2531439) | Cod sursa (job #926573) | Cod sursa (job #2735103)
#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;
void reRun(int nums[]) {
int value;
for (int i = n - 1; i > -1;i--) {
for (int j = n - 1; j > -1;j--) {
for (int z = n - 1; z > -1;z--) {
value = sum - nums[i] - nums[j] - nums[z];
if (d.find(value) != d.end()) {
fout << nums[i] << ' ' << nums[j] << ' ' << nums[z] << ' ' << d[value].num1 << ' ' << d[value].num2 << ' ' << d[value].num3;
return;
}
}
}
}
fout << -1;
return;
}
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 = 0; j < n;j++) {
for (int z = 0; 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];
}
}
}
reRun(nums);
delete[] nums;
return 0;
}