Pagini recente » Cod sursa (job #469360) | Cod sursa (job #3169459) | Cod sursa (job #1600157) | Cod sursa (job #693393) | Cod sursa (job #2612446)
#include<cstdio>
#include<algorithm>
#include<unordered_map>
#define MAX_N 100
using namespace std;
struct elem {
int v1, v2, v3;
elem(int v1 = 0, int v2 = 0, int v3 = 0): v1(v1), v2(v2), v3(v3) {
}
};
unordered_map<int, 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.find(x) == umap.end()) {
umap[s] = elem(v[i], v[j], v[k]);
}
x = S - v[i] - v[j] - v[k];
if(umap.find(x) != umap.end()) {
fprintf(fout,"%d %d %d %d %d %d\n", v[i], v[j], v[k], umap[x].v1, umap[x].v2, umap[x].v3);
fclose(fin);
fclose(fout);
return 0;
}
}
fprintf(fout,"-1\n");
fclose(fin);
fclose(fout);
return 0;
}