Pagini recente » Cod sursa (job #1332442) | Cod sursa (job #1648613) | Cod sursa (job #351483) | Monitorul de evaluare | Cod sursa (job #1426914)
#include <fstream>
#include <unordered_map>
#include <vector>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
struct trio {
int nr1, nr2, nr3;
};
unordered_map <int, trio> sums;
vector <int> numbers;
int N, S;
int main() {
fin >> N >> S;
for (int i = 1, nr; i <= N; i++) {
fin >> nr;
numbers.push_back(nr);
}
for (auto x : numbers)
for (auto y : numbers)
for (auto z : numbers) {
int sum = x + y + z;
if (sum <= S) {
trio trioo;
trioo.nr1 = x;
trioo.nr2 = y;
trioo.nr3 = z;
sums[sum] = trioo;
}
}
for (auto x : numbers)
for (auto y : numbers)
for (auto z : numbers) {
int sum = x + y + z;
if (sums.count(sum) && sums.count(S - sum)){
fout << x << ' ' << y << ' ' << z << ' '
<< sums[S - sum].nr1 << ' ' << sums[S - sum].nr2 << ' ' << sums[S - sum].nr3;
return 0;
}
}
fout << -1;
return 0;
}