Pagini recente » Cod sursa (job #1291680) | Cod sursa (job #1618095) | Cod sursa (job #1803114) | Statistici Andrei Vila (Ninja951) | Cod sursa (job #1430176)
#include <stdio.h>
#include <algorithm>
using namespace std;
int v[101];
struct loto
{
int sum, a, b, c;
} rez[400000];
int verif( loto x , loto y )
{
return x.sum<y.sum;
}
int main()
{
freopen( "loto.in", "r", stdin );
freopen( "loto.out", "w", stdout );
int n, s, k, i, j, nr=1, min=1, max, st=0;
scanf( "%d%d", &n, &s );
for( i=1; i<=n; i++ )
scanf( "%d", &v[i] );
for(i=1; i<=n; i++)
for(j=i; j<=n; j++)
for(k=j; k<=n; k++)
rez[nr].sum=v[i]+v[j]+v[k], rez[nr].a=v[i], rez[nr].b=v[j], rez[nr].c=v[k], nr++;
max=nr-1;
sort(rez+1,rez+nr+1,verif);
while( min<=max && st==0 )
{
if( rez[min].sum+rez[max].sum>s )
max--;
else if( rez[min].sum+rez[max].sum<s )
min++;
else
st=1;
}
if( min>max )
printf( "-1" );
else
printf( "%d %d %d %d %d %d", rez[min].a, rez[min].b, rez[min].c, rez[max].a, rez[max].b, rez[max].c );
return 0;
}