Pagini recente » Cod sursa (job #1226951) | Cod sursa (job #1876531) | Cod sursa (job #80733) | Cod sursa (job #192374) | Cod sursa (job #2612444)
#include<cstdio>
#include<unordered_map>
#define MAX_N 100
using namespace std;
struct elem {
int v1, v2, v3;
};
unordered_map<int, pair<bool, elem>> umap;
int v[MAX_N];
int n, S;
int main() {
FILE* fin, *fout;
fin = fopen("loto.in", "r");
fout = fopen("loto.out", "w");
elem e;
int x, s;
fscanf(fin,"%d%d", &n, &S);
for(int i = 0; i < n; ++i)
fscanf(fin,"%d", &v[i]);
for(int i = 0; i < n; ++i)
for(int j = i; j < n; ++j)
for(int k = j; k < n; ++k) {
s = v[i] + v[j] + v[k];
if(!umap[s].first) {
e.v1 = v[i];
e.v2 = v[j];
e.v3 = v[k];
umap[s] = make_pair(true, e);
}
x = S - v[i] - v[j] - v[k];
if(umap[x].first) {
fprintf(fout,"%d %d %d ", v[i], v[j], v[k]);
e = umap[x].second;
fprintf(fout,"%d %d %d\n", e.v1, e.v2, e.v3);
fclose(fin);
fclose(fout);
return 0;
}
}
fprintf(fout,"-1\n");
fclose(fin);
fclose(fout);
return 0;
}