Pagini recente » Cod sursa (job #2183797) | Cod sursa (job #2902598) | Cod sursa (job #2877668) | Cod sursa (job #2421091) | Cod sursa (job #182997)
Cod sursa(job #182997)
#include<stdio.h>
int main()
{
int s,v[101]={0},sm,da=0;
int n,i,j,k,t;
int x[7]={0},up;
freopen("loto.in","r",stdin);
freopen("loto.out","w",stdout);
scanf("%d%d",&n,&s);
for(i=1;i<=n;i++) scanf("%d",&v[i]);
for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++)
if(v[i]>v[j]) {t=v[i];v[i]=v[j];v[j]=t;}
if(6*v[1]>s||6*v[n]<s) {printf("-1");return 0;}
k=1;x[k]=0; sm=0;
while(k){
x[k]++;
if(x[k]<=n) up=1;
else up=0;
if(up) switch (k){
case 5: {
sm=0;
for(i=1;i<=5;i++) sm+=v[x[i]];
if(sm+v[x[5]]>s) k--;break;
}
case 6: {
sm=0;
for(i=1;i<=6;i++) sm+=v[x[i]];
if(sm==s) {da=1;k=0;}
if(sm>s) k--;break;
}
default: {k++;x[k]=x[k-1]-1;}
}
else k--;
}
if(da)
for(i=1;i<=6;i++) printf("%d ",v[x[i]]);
else
printf("-1");
return 0;
}