Pagini recente » Atasamentele paginii oji_go_11_12 | Cod sursa (job #1851368) | Cod sursa (job #2822533) | Cod sursa (job #2832983) | Cod sursa (job #130255)
Cod sursa(job #130255)
#include <stdio.h>
#include <stdlib.h>
long n,s,i,j,k,q,a[103],s3[1000003],ind[1000003],nr1[1000003],nr2[1000003],nr3[1000003];
int comp(const void *n1, const void *n2){
return s3[*(long*)n1]-s3[*(long*)n2];
}
int main(){
freopen("loto.in","r",stdin);
freopen("loto.out","w",stdout);
scanf("%ld %ld",&n,&s);
for (i=1;i<=n;i++)
scanf("%ld",&a[i]);
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
for (k=1;k<=n;k++)
{q++;ind[q]=q;s3[q]=a[i]+a[j]+a[k];nr1[q]=i;nr2[q]=j;nr3[q]=k;}
qsort(ind,q+1,sizeof(long),comp);
j=q;
for (i=1;i<=q;i++){
while (s3[ind[i]]+s3[ind[j]]>s&&j>0)j--;
if (!j>0)break;
if (s3[ind[i]]+s3[ind[j]]==s){
printf("%ld %ld %ld ",a[nr1[ind[i]]],a[nr2[ind[i]]],a[nr3[ind[i]]]);
printf("%ld %ld %ld\n",a[nr1[ind[j]]],a[nr2[ind[j]]],a[nr3[ind[j]]]);
return 0;
}
}
printf("-1\n");
return 0;
}