Pagini recente » Cod sursa (job #3142557) | Cod sursa (job #1095615) | Cod sursa (job #2507897) | Cod sursa (job #123409) | Cod sursa (job #445394)
Cod sursa(job #445394)
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <vector>
using namespace std;
void open(){
freopen("loto.in","r",stdin);
freopen("loto.out","w",stdout);
}
#define pb push_back
#define sz size()
#define MOD 666013
struct pii{
int x,y,z,sum;
pii(){
};
pii(int _x,int _y,int _z,int _sum){
x=_x;y=_y;z=_z;sum=_sum;
};
};
typedef vector<pii>vii;
int n,s,x[101],suma,cnt,tmp;
vii hash[666013];
int main(){
open();
scanf("%d%d",&n,&s);
for (int i=0;i<n;i++){
scanf("%d",&x[i]);
}
sort(x,x+n);
cnt=0;
for (int i=0;i<n;i++){
for (int j=0;j<n;j++){
for (int k=0;k<n;k++){
suma=x[i]+x[j]+x[k];
if (suma>=s) break;
int reg=suma%MOD;
bool found=0;
for (vii::iterator it=hash[reg].begin();it!=hash[reg].end();it++){
if (it->sum==suma){
found=1;break;
}
}
if (found) continue;
hash[reg].pb(pii(i,j,k,suma));
suma=s-suma;
reg=suma%MOD;
found=0;
int i1,j1,k1;
for (vii::iterator it=hash[reg].begin();it!=hash[reg].end();it++){
if (it->sum==suma){
i1=it->x;
j1=it->y;
k1=it->z;
found=1;break;
}
}
if (found){
printf("%d %d %d %d %d %d\n",x[i],x[j],x[k],x[i1],x[j1],x[k1]);
return 0;
}
}
}
}
printf("-1\n");
return 0;
}