Pagini recente » Cod sursa (job #1308650) | Cod sursa (job #1596912) | Cod sursa (job #276776) | Cod sursa (job #1742034) | Cod sursa (job #1702466)
//#define TGEN
#include <bits/stdc++.h>
using namespace std;
#ifndef TGEN
const int MOD = 9997;
struct I3 {
int a, b, c;
I3(int _a, int _b, int _c) {
a = _a;
b = _b;
c = _c;
}
inline int sum(void) {
return a+b+c;
}
};
FILE *fi = fopen("loto.in", "r");
FILE *fo = fopen("loto.out", "w");
int n, s, v[105];
vector<I3> h[MOD];
inline void search(I3 val) {
if(s-val.sum()<0)
return;
int p = (s-val.sum()) % MOD;
for(int i=0; i<h[p].size(); ++i) {
if(h[p][i].sum()==s-val.sum()) {
fprintf(fo,"%d %d %d %d %d %d\n",h[p][i].a,h[p][i].b,h[p][i].c , val.a,val.b,val.c);
exit(0);
}
}
}
inline void insert(I3 val) {
int p = val.sum() % MOD;
for(int i=0; i<h[p].size(); ++i)
if(h[p][i].sum()==val.sum())
return;
h[p].push_back(val);
}
int main(void) {
fscanf(fi,"%d%d",&n,&s);
for(int i=1; i<=n; ++i)
fscanf(fi,"%d",&v[i]);
for(int i=1; i<=n; ++i) {
for(int j=i; j<=n; ++j) {
for(int k=j; k<=n; ++k) {
insert(I3(v[i],v[j],v[k]));
search(I3(v[i],v[j],v[k]));
}
}
}
fprintf(fo,"-1\n");
fclose(fi);
fclose(fo);
return 0;
}
#else
bool f[6000005];
int main(void) {
FILE *fo = fopen("loto.in","w");
int n, k, t;
n = rand()%100+1;
k = rand()%600000+1;
fprintf(fo,"%d %d\n",n,k);
for(int i=0; i<n; ++i) {
t = rand()%100000+1;
if(!f[t])
fprintf(fo,"%d ",t);
f[t]=true;
}
fclose(fo);
return 0;
}
#endif