Pagini recente » Cod sursa (job #802940) | Cod sursa (job #210636) | Cod sursa (job #837465) | Cod sursa (job #2186957) | Cod sursa (job #846550)
Cod sursa(job #846550)
#include<stdio.h>
#define MA 1999999999
int T[76000],n,G,D[76000],i,x,k,v[210],j;
int main ()
{
freopen ("ghiozdan.in","r",stdin);
freopen ("ghiozdan.out","w",stdout);
scanf("%d%d",&n,&G);
for(i=1;i<=n;++i)
{
scanf("%d",&x);
v[x]++;
}
D[0]=1;
for(i=200;i>=1;--i)
if(v[i])
for(j=G-i;j>=0;--j)
for(k=1;k<=v[i]&&j+k*i<=G&&!D[j+k*i];++k)
if(D[j])
{
D[j+k*i]=D[j]+k;
T[j+k*i]=i;
}
for(i=G;i>=1;i--)
{
if(D[i])
{
printf("%d %d \n",i,D[i]-1);
printf("%d \n",T[i]);
while(i-T[i])
{
i-=T[i];
printf("%d \n",T[i]);
}
return 0;
}
}
}