Pagini recente » Cod sursa (job #1871283) | Cod sursa (job #2425618) | Cod sursa (job #2314425) | Cod sursa (job #1437650) | Cod sursa (job #2624528)
#include <iostream>
#include <fstream>
#include <unordered_map>
using namespace std;
int main()
{
int n, s;
int numere[101];
unordered_map<int, vector<int>> sume;
ifstream in("loto.in");
ofstream out("loto.out");
in >> n >> s;
for (int i = 0; i < n; i++) {
in >> numere[i];
}
int suma_partiala, i = 0;
while(i < n) {
vector<int> x(3);
for (int j = i; j < n; j++) {
for (int k = j; k < n; k++) {
suma_partiala = numere[i] + numere[j] + numere[k];
if (sume.count(suma_partiala) == 0)
{
sume[suma_partiala] = vector<int>();
sume[suma_partiala].push_back(numere[i]);
sume[suma_partiala].push_back(numere[j]);
sume[suma_partiala].push_back(numere[k]);
if (sume.count(s - suma_partiala) > 0)
break;
}
}
}
i++;
}
if (i >= n+2) {
out << -1;
}
else
{
for (int i = 0; i < 3; i++) {
out << sume[suma_partiala][i] << " ";
}
for (int i = 0; i < 3; i++) {
out << sume[s-suma_partiala][i] << " ";
}
}
return 0;
}