Pagini recente » Cod sursa (job #939346) | Cod sursa (job #2421362) | Cod sursa (job #1841434) | Cod sursa (job #1662598) | Cod sursa (job #131110)
Cod sursa(job #131110)
#include <stdio.h>
#include <stdlib.h>
#define N 1000005
int n,s,i,j,k,ss,a[103],s3[N];
int v1[N],v2[N],v3[N];
int compara(const void *a, const void *b){
return s3[*(int*)a]-s3[*(int*)b];
}
int main(){
int w[N];
freopen("loto.in","r",stdin);
freopen("loto.out","w",stdout);
scanf("%d %d",&n,&s);
for (i=1;i<=n;i++)
scanf("%d",&a[i]);
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
for (k=1;k<=n;k++){
++ss;
w[ss]=ss;
s3[ss]=a[i]+a[j]+a[k];
v1[ss]=i;
v2[ss]=j;
v3[ss]=k;
}
qsort(w,ss+1,sizeof(w[0]),compara);
j=ss;
for (i=1;i<=ss;i++){
while (s3[w[i]]+s3[w[j]]>s && j>0)j--;
if (!j>0)
break;
if (s3[w[i]]+s3[w[j]]==s){
printf("%d %d %d ",a[v1[w[i]]],a[v2[w[i]]],a[v3[w[i]]]);
printf("%d %d %d\n",a[v1[w[j]]],a[v2[w[j]]],a[v3[w[j]]]);
return 0;
}
}
printf("-1\n");
return 0;
}