Pagini recente » Cod sursa (job #2374772) | Cod sursa (job #737538) | Cod sursa (job #222952) | Cod sursa (job #3130044) | Cod sursa (job #1050352)
#include<fstream>
#include<vector>
using namespace std;
FILE* f=freopen("loto.in","r",stdin);
FILE* o=freopen("loto.out","w",stdout);
struct S{int a,b,c;} ;
int n,s;
int v[105];
vector<S> H[100][500];
vector<S> sums;
int p1=97,p2=497;
int main()
{
scanf("%d%d",&n,&s);
for(int i=0;i<n;++i)
{
scanf("%d",&v[i]);
}
for(int i=0;i<n;++i)
for(int j=0;j<n;++j)
for(int z=0;z<n;++z)
{
int sum=v[i]+v[j]+v[z];
if(sum>=s) continue;
S temp;
temp.a=v[i],temp.b=v[j],temp.c=v[z];
int key1=sum%p1;
int key2=sum%p2;
H[key1][key2].push_back(temp);
sums.push_back(temp);
}
for(int i=0;i<sums.size();++i)
{
int sum=sums[i].a+sums[i].b+sums[i].c;
int key1=(s-sum)%p1;
int key2=(s-sum)%p2;
for(int z=0;z<H[key1][key2].size();++z)
{
if(sum+H[key1][key2][z].a+H[key1][key2][z].b+H[key1][key2][z].c==s)
{
printf("%d %d %d %d %d %d",sums[i].a,sums[i].b,sums[i].c,H[key1][key2][z].a,H[key1][key2][z].b,H[key1][key2][z].c);
fclose(f);
fclose(o);
return 0;
}
}
}
printf("%d",-1);
fclose(f);
fclose(o);
return 0;
}