Pagini recente » Cod sursa (job #2283998) | Cod sursa (job #821785) | Cod sursa (job #1248642) | Cod sursa (job #1642656) | Cod sursa (job #765533)
Cod sursa(job #765533)
#include<cstdio>
int g[5001],c[5001],s[10001],s1[10001],m,n,i,j,t;
int main()
{freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
scanf("%d%d",&g[i],&c[i]);
s[g[1]]=c[1];
for(i=2;i<=n;i++)
{for(j=1;j<=m;j++)
s1[j]=s[j];
if(s1[g[i]]<c[i])
s[g[i]]=c[i];
for(j=1;j<=m-g[i];j++)
if(s1[j+g[i]]<s1[j]+c[i])
s[j+g[i]]=s1[j]+c[i];}
t=s[1];
for(i=2;i<=m;i++)
if(t<s[i])
t=s[i];
printf("%d",t);
return 0;}