Pagini recente » Cod sursa (job #1121199) | Cod sursa (job #1278545) | Cod sursa (job #852255) | Cod sursa (job #558532) | Cod sursa (job #1121663)
#include <cstdio>
#include <algorithm>
using namespace std;
FILE*f=fopen("loto.in","r");
FILE*h=fopen("loto.out","w");
int n,s,v[101],k;
struct val{
int x,a,b,c;
};
val c[100001];
bool sortez(val a,val b){
return a.x<b.x;
}
int main()
{
fscanf(f,"%d%d",&n,&s);
/*n=3;
s=13;
v[1]=1;
v[2]=2;
v[3]=3;*/
for ( int i=1;i<=n;++i )
fscanf(f,"%d",&v[i]);
for ( int i=1;i<=n;++i )
for ( int j=1;j<=n;++j )
for ( int r=1;r<=n;++r ){
c[++k].x=v[i]+v[j]+v[r];
c[k].a=v[i];
c[k].b=v[j];
c[k].c=v[r];
}
sort(c+1,c+k+1,sortez);
for ( int i=1;i<=k;++i ){
int p=0;
for ( int pas=1<<20;pas;pas/=2 )
if ( p+pas<=k&&c[i].x+c[p+pas].x<=s )p+=pas;
if ( c[i].x+c[p].x==s ){
fprintf(h,"%d %d %d %d %d %d",c[i].a,c[i].b,c[i].c,c[p].a,c[p].b,c[p].c);
return 0;
}
}
fprintf(h,"-1");
return 0;
}