Pagini recente » Cod sursa (job #1349148) | Cod sursa (job #2242527) | Cod sursa (job #468819) | Cod sursa (job #161169) | Cod sursa (job #3128994)
#include <iostream>
#include <fstream>
#include <unordered_map>
#include <vector>
using namespace std;
int f_hash(int n, int p)
{
return n % p;
}
int main()
{
ifstream fin("loto.in");
ofstream fout("loto.out");
int p = 666013, n, s, x, v[105];
unordered_map<int, vector<int>> sume;
fin >> n >> s;
for(int i = 0; i < n; i++){
fin >> v[i];
}
for(int i = 0; i < n; i++)
for(int j = i ; j < n; j++)
for(int k = j; k < n; k++)
sume[v[i] + v[j] + v[k]] = {v[i], v[j], v[k]};
bool found = false;
for (auto suma_partiala: sume){
int ramas = s - suma_partiala.first;
for(int i = 0; i < n && !found; i++){
for(int j = 0; j < n && !found; j++)
for(int k = 0; k < n && !found; k++){
if(v[i] + v[j] + v[k] + suma_partiala.first == s){
found = true;
fout << v[i] << " " << v[j] << " " << v[k] << " ";
for(auto el: suma_partiala.second)
fout << el << " ";
}
}
}
}
if(found == false)
fout << -1;
return 0;
}