Pagini recente » Cod sursa (job #2241860) | Cod sursa (job #11555) | Cod sursa (job #2619613) | Cod sursa (job #1559135) | Cod sursa (job #566266)
Cod sursa(job #566266)
#include <algorithm>
#define DIM 101
using namespace std ;
struct pam{
int ss ;
int a ;
int b ;
int c ;
} ;
int cmp(pam A,pam B) {
if (A.ss<B.ss)
return 1 ;
return 0 ;
}
int v[DIM] ;
int sol[DIM*DIM*DIM] ;
pam a[DIM*DIM*DIM] ;
int cnt ;
int main() {
freopen ("loto.in","r",stdin) ;
freopen ("loto.out","w",stdout);
int n , s ;
scanf ("%d%d" , &n , &s) ;
for (int i=1 ; i<=n ; ++i ) {
scanf ("%d" , &v[i]) ;
}
for (int i=1 ; i<=n ; ++i) {
for (int j=i ; j<=n ; ++j) {
for(int k=j ; k<=n ; ++k) {
sol[++cnt]=v[i]+v[j]+v[k] ;
a[cnt].ss=sol[cnt] ;
a[cnt].a=v[i] ;
a[cnt].b=v[j] ;
a[cnt].c=v[k] ;
}
}
}
sort(sol+1,sol+cnt+1) ;
sort(a+1,a+cnt+1,cmp) ;
for (int i=1 ; i<=cnt ; ++i) {
int x=upper_bound(sol+1,sol+cnt+1,s-sol[i])-sol-1;
if (x>=1 && x<=cnt && sol[x]==(s-sol[i])) {
printf("%d %d %d %d %d %d\n" , a[i].a , a[i].b , a[i].c , a[x].a , a[x].b , a[x].c) ;
return 0 ;
}
}
printf ("-1\n") ;
return 0;
}