Pagini recente » Cod sursa (job #1704248) | Cod sursa (job #117489) | Cod sursa (job #2562235) | Cod sursa (job #1220669) | Cod sursa (job #334992)
Cod sursa(job #334992)
#include<stdio.h>
#define NMAX 100
int n,s,sp,i,j,pmin,posibil=1,loto[NMAX],answer[6];
int main() {
freopen("loto.in","r",stdin);
freopen("loto.out","w",stdout);
scanf("%d %d",&n,&s);
for(i=0;i<n;i++) scanf("%d",loto+i);
for(i=0;i<n-1;i++) {
pmin=i;
for(j=i+1;j<n;j++)
if(loto[j]<loto[pmin]) pmin=j;
j=loto[i];
loto[i]=loto[pmin];
loto[pmin]=j;
}
if(s>6*loto[n-1]) posibil=0;
else {
i=0;
sp=0;
answer[0]=-1;
while((i<5)||(sp!=s)) {
if((answer[i]==n-1)||(s-sp<(5-i)*answer[i]))
if(i) {
sp-=loto[n-1];
i--;
}
else {
posibil=0;
break;
}
else {
answer[i]++;
sp+=loto[answer[i]];
if(answer[i]>=0) sp-=loto[answer[i]-1];
if(i<5) {
answer[i+1]=answer[i]-1;
i++;
sp+=loto[answer[i]];
}
}
}
}
if(posibil)
for(i=0;i<6;i++) printf("%d ",loto[answer[i]]);
else printf("-1");
return 0;
}