Pagini recente » Cod sursa (job #208629) | Cod sursa (job #3144932) | Cod sursa (job #1477859) | Cod sursa (job #2722467) | Cod sursa (job #458159)
Cod sursa(job #458159)
#include<stdio.h>
#include<stdlib.h>
#include<algorithm>
using namespace std;
int main ()
{
int a[101],i,j,k,l,m,n,o,s,ok=0,st,dr,mij,val;
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]);
sort(a+1,a+n+1);
for (i=1; i<=n; i++)
if (a[i]<s)
for (j=1; j<=n; j++)
if (a[i]+a[j]<s)
for (k=1; k<=n; k++)
if (a[i]+a[j]+a[k]<s)
for (l=1; l<=n; l++)
if (a[i]+a[j]+a[k]+a[l]<s)
for (m=1; m<=n; m++)
if (a[i]+a[j]+a[k]+a[l]+a[m]<s)
{
val=s-a[i]-a[j]-a[k]-a[l]-a[m];
st=1; dr=n;
while (st<=dr)
{
mij=(st+dr)/2;
if (val==a[mij]) break;
else if (val>a[mij]) st=mij+1;
else dr=mij-1;
}
if (st<=dr)
{
printf("%d %d %d %d %d %d\n",a[i],a[j],a[k],a[l],a[m],a[mij]);
ok=1;
i=n+1; j=n+1; k=n+1; l=n+1; m=n+1; o=n+1;
}
}
if (ok==0) printf("-1");
return 0;
}