Pagini recente » Cod sursa (job #1853213) | Cod sursa (job #2455404) | Cod sursa (job #1143651) | Cod sursa (job #2366060) | Cod sursa (job #3129812)
#include <fstream>
#include <iostream>
#include <vector>
#include <unordered_map>
std::ifstream in;
std::ofstream out;
int main() {
std::unordered_map<int, int*> mp;
int n, S, i, j, k, l, v[105];
bool f = false;
std::vector<int>rez;
in.open("loto.in");
in>>n>>S;
for(i = 0; i < n; i++)
in>>v[i];
in.close();
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
for(k = 0; k < n; k++)
{
int aux[3] = {v[i],v[j],v[k]};
mp[v[i]+v[j]+v[k]] = aux;
}
for(i = 0; i < n and !f; i++)
for(j = 0; j < n and !f; j++)
for(k = 0; k < n and !f; k++)
{
int sum = S-(v[i]+v[j]+v[k]);
if(mp.find(sum) != nullptr){
rez.push_back(v[i]);
rez.push_back(v[j]);
rez.push_back(v[k]);
for(l = 0; l < 3; l++)
rez.push_back(mp.find(sum)->second[l]);
f = true;
}
}
out.open("loto.out");
if(f){
for(auto el:rez){
out<<el<<' ';
}
}
else{
out<<-1;
}
out.close();
return 0;
}