Pagini recente » Cod sursa (job #131873) | Cod sursa (job #2058112) | Cod sursa (job #2022614) | Cod sursa (job #1663403) | Cod sursa (job #19852)
Cod sursa(job #19852)
# include <stdio.h>
# define input "ghiozdan.in"
# define output "ghiozdan.out"
# define max 75019
long n,a[max],nr[max],g,i,j,ant[max],x,m,val;
int main()
{
freopen(input,"r",stdin);
freopen(output,"w",stdout);
scanf("%ld%ld",&n,&g);
a[0] = 1;
m = 0;
for(i = 1;i<=n;i++)
{
scanf("%ld",&x);
for(j = m;j>=0;j--)
{
if(a[j] && j+x<=g)
{
if(j+x>m)
m = j+x;
if(!a[j+x])
{
a[j+x] = 1;
ant[j+x] = j;
nr[j+x] = nr[j]+1;
}
else
if(nr[j+x]>nr[j]+1)
{
ant[j+x] = j;
nr[j+x] = nr[j]+1;
}
}
}
}
i = g;
// for(i=g;a[i]==0;i--);
printf("%ld %ld\n",i,nr[i]);
val = nr[i];
/* while(i)
{
printf("%ld\n",i-ant[i]);
i = ant[i];
--val;
}
while(val)
{
printf("0\n");
--val;
}
*/
return 0;
}