Pagini recente » Cod sursa (job #1752967) | Cod sursa (job #3263146) | Cod sursa (job #1951692) | Cod sursa (job #756375) | Cod sursa (job #2895495)
#include <fstream>
#include <unordered_map>
#include <vector>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int n, s, i, j, k, x;
unordered_map<int, vector<int>> sum;
vector<int> v;
vector<int> tmp(3);
int main() {
fin >> n >> s;
for (i = 0; i < n; ++i) {
fin >> k;
v.push_back(k);
}
for (i = 0; i < n; ++i) {
for (j = i; j < n; ++j) {
for (k = j; k < n; ++k) {
x = v[i] + v[j] + v[k];
if (sum.find(s - x) != sum.end()) {
fout << v[i] << ' ' << v[j] << ' ' << v[k] << ' ';
for (i = 0; i < 3; ++i) {
fout << sum[s - x][i] << ' ';
}
return 0;
}
tmp[0] = v[i];
tmp[1] = v[j];
tmp[2] = v[k];
sum[x] = tmp;
}
}
}
// Hack
if (sum.find(s - x) != sum.end()) {
fout << v[i - 1] << ' ' << v[j - 1] << ' ' << v[k - 1] << ' ';
for (i = 0; i < 3; ++i) {
fout << sum[s - x][i] << ' ';
}
return 0;
}
fout << "-1";
return 0;
}