Pagini recente » Cod sursa (job #2901061) | Cod sursa (job #2093455) | Cod sursa (job #1929356) | Cod sursa (job #1783057) | Cod sursa (job #203342)
Cod sursa(job #203342)
#include<stdio.h>
#define M 75005
#define N 20007
int nr[205],v[M],a[M];
int main(){
int x,i,j,k,n,g,y,q;
freopen("ghiozdan.in","r",stdin);
freopen("ghiozdan.out","w",stdout);
scanf("%d%d",&n,&g);
for(i=1;i<=n;++i){
scanf("%d",&x);
nr[x]++;
}
for(i=200;i>=1;--i)
for(k=g-i;k>=0;--k)
if(!k||v[k])
for(j=1;j<=nr[i];++j){
q=k+i*j;
if(!v[q]&&g>=q){
v[q]=v[q-i]+1;
a[q]=q-i;
}
else
break;
}
for(i=g;i>=1;--i)
if(v[i]){
printf("%d %d\n",i,v[i]);
break;
}
x=i;
y=a[i];
while(v[i]){
printf("%d\n",x-y);
--v[i];
x=y;
y=a[x];
}
fclose(stdin);
fclose(stdout);
return 0;
}