Pagini recente » Cod sursa (job #2653674) | Cod sursa (job #1225953) | Cod sursa (job #1253991) | Cod sursa (job #2268802) | Cod sursa (job #265925)
Cod sursa(job #265925)
# include <stdio.h>
# include <stdlib.h>
int a[1000],s,i,j,k,ok=0,n,m,z,l,q,max,aux,s1,zx;
void poz (int li,int lj,int &k)
{
int i=li,j=lj,i1=0,j1=-1;
while (i<j)
{
if (a[i]<a[j])
{
aux=a[i];
a[i]=a[j];
a[j]=aux;
aux=i1;
i1=-j1;
j1=-aux;
}
i=i+i1;
j=j+j1;
}
k=i;
}
void quick (int li,int lj)
{
if (li<lj)
{
poz (li,lj,k);
quick (li,k-1);
quick (k+1,lj);
}
}
int main ()
{
freopen ("loto.in","r",stdin);
freopen ("loto.out","w",stdout);
scanf ("%i",&n);
scanf ("%i",&s);
for (i=0;i<n;i++)
scanf ("%i",&a[i]);
quick (0,n-1);
if (a[0]*6<s)
printf ("-1");
else
{
if (a[0]+a[n-1]*5<s)
zx=1;
q=0 ;
for (i=q;i<n;i++)
{
for (j=i;j<n;j++)
{
for (k=j;k<n;k++)
{
for (l=k;l<n;l++)
{
for (z=l;z<n;z++)
{
for (m=z;m<n;m++)
{
s1=a[i]+a[j]+a[k]+a[l]+a[z]+a[m];
if (s1==s)
{
printf ("%i ",a[i]);
printf ("%i ",a[j]);
printf ("%i ",a[k]);
printf ("%i ",a[l]);
printf ("%i ",a[z]);
printf ("%i ",a[m]);
ok=1;
exit (EXIT_SUCCESS);
}
if (s1-a[m]+a[n-1]>s)
m=n-1;
}
if (a[i]+a[j]+a[k]+a[l]+a[n-1]+a[n-1]>s)
z=n-1;
}
if (a[i]+a[j]+a[k]+(a[n-1]*3)>s)
z=n-1;
}
if (a[i]+a[j]+(a[n-1]*4)>s)
k=n-1;
}
if (a[i]+(a[n-1]*5)>s)
j=n-1;
}
}
if (ok==0)
printf ("-1");
}
return 0;
}