Pagini recente » Cod sursa (job #651711) | Cod sursa (job #830561) | Cod sursa (job #381499) | Cod sursa (job #2851901) | Cod sursa (job #139004)
Cod sursa(job #139004)
#include <stdio.h>
#include <stdlib.h>
#include <algorithm>
#define N 1000005
using namespace std;
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 function(int a,int b){
return s3[a]<s3[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;
}
sort(w+1,w+ss,function);
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;
}