Pagini recente » Cod sursa (job #3191382) | Cod sursa (job #1328552) | Cod sursa (job #1138242) | Cod sursa (job #2168144) | Cod sursa (job #3131164)
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
struct Triplet {
int num1, num2, num3;
};
unordered_map<int, Triplet> numberMap;
int numbers[105];
void buildNumberMap(int numbers[], int N, unordered_map<int, Triplet>& numberMap) {
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
for (int k = 0; k < N; k++)
numberMap[numbers[i] + numbers[j] + numbers[k]] = { numbers[i], numbers[j], numbers[k] };
}
}
}
int main() {
int N, S;
fin >> N >> S;
for (int i = 0; i < N; i++)
fin >> numbers[i];
buildNumberMap(numbers, N, numberMap);
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
for (int k = 0; k < N; k++) {
int targetSum = S - numbers[i] - numbers[j] - numbers[k];
if (numberMap.count(targetSum) > 0) {
Triplet t = numberMap[targetSum];
fout << numbers[i] << " " << numbers[j] << " " << numbers[k] << " ";
fout << t.num1 << " " << t.num2 << " " << t.num3;
return 0;
}
}
}
}
fout << -1;
return 0;
}