Pagini recente » Cod sursa (job #3172533) | Cod sursa (job #2578382) | Cod sursa (job #2895314) | Cod sursa (job #3218827) | Cod sursa (job #2896611)
#include <iostream>
#include <unordered_map>
#include <fstream>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
unordered_map < int, tuple <int, int, int> > umap;
int main()
{int n, s, i, j, k, v[105], sum, gasit = 0;
f >> n >> s;
for(i = 0; i < n; ++i)
f >> v[i];
for(i = 0; i < n; ++i){
for(j = i; j < n; ++j){
for(k = j; k < n; ++k){
sum = v[i] + v[j] + v[k];
umap[sum] = make_tuple(v[i], v[j], v[k]);
}
}
}
for(i = 0; i < n; ++i){
for(j = i; j < n; ++j){
for(k = j; k < n; ++k){
sum = v[i] + v[j] + v[k];
if(umap.find(s - sum) != umap.end()){
g << v[i] << " " << v[j] << " " << v[k] << " " << get<0>(umap[s - sum]) << " " << get<1>(umap[s - sum]) << " " << get<2>(umap[s - sum]);
gasit = 1;
return 0;
}
}
}
}
if(gasit == 0)
g << -1;
return 0;
}