Pagini recente » Cod sursa (job #2266271) | Cod sursa (job #2463770) | Cod sursa (job #2987575) | Cod sursa (job #2148994) | Cod sursa (job #1165181)
#include<cstdio>
#include<vector>
#define mod 66013
using namespace std;
vector<int> H[mod+1];
inline int h(int x)
{
return x%mod;
}
inline void insert(int x)
{
H[h(x)].push_back(x);
}
inline bool find(int x)
{
int i;
for(i=0; i<H[h(x)].size(); ++i)
{
if(H[h(x)][i]==x)
return 1;
}
return 0;
}
int main()
{
FILE *in, *out;
in=fopen("loto.in", "r");
out=fopen("loto.out", "w");
int n, s, i, v[100], j, k, q1, q2, q3;
fscanf(in, "%d%d", &n, &s);
for(i=0; i<n; ++i)
fscanf(in, "%d", &v[i]);
fclose(in);
for(i=0; i<n; ++i)
for(j=i; j<n; ++j)
for(k=j; k<n; ++k)
insert(v[i]+v[j]+v[k]);
for(i=0; i<n; ++i)
for(j=i; j<n; ++j)
for(k=j; k<n; ++k)
{
if(find(s-v[i]-v[j]-v[k]))
{
for(q1=0; q1<n; ++q1)
for(q2=q1; q2<n; ++q2)
for(q3=q2; q3<n; ++q3)
if(v[q1]+v[q2]+v[q3]==s-v[i]-v[j]-v[k])
{
fprintf(out, "%d %d %d %d %d %d", v[i], v[j], v[k], v[q1], v[q2], v[q3]);
return 0;
}
}
}
fprintf(out, "-1");
fclose(out);
return 0;
}