Pagini recente » Cod sursa (job #168973) | Cod sursa (job #1526404) | Cod sursa (job #3225927) | Cod sursa (job #553892) | Cod sursa (job #3131246)
#include <fstream>
#include <vector>
#include <unordered_map>
using namespace std;
ifstream in ("loto.in");
ofstream out("loto.out");
int n, v[101];
long long s;
int main() {
unordered_map < long long int, vector < int >> m;
in >> n >> s;
for (int i = 0; i < n; i++)
in >> v[i];
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
for (int k = 0; k < n; k++) {
long long int sum = v[i] + v[j] + v[k];
m[sum] = { v[i], v[j], v[k] };
}
vector < int > & values = m[1];
bool stopFlag = false;
for (int i = 0; i < n && !stopFlag; i++)
for (int j = 0; j < n && !stopFlag; j++)
for (int k = 0; k < n && !stopFlag; k++) {
long long int sum = v[i] + v[j] + v[k];
if (m.find(s - sum) != m.end()) {
values = m[s - sum];
out << v[i] << " " << v[j] << " " << v[k] << " " << values[0] << " " << values[1] << " " << values[2];
stopFlag = true;
break;
}
}
if (!stopFlag)
out << "-1";
return 0;
}