Pagini recente » Cod sursa (job #175658) | Cod sursa (job #801211) | Cod sursa (job #1962203) | Cod sursa (job #2597630) | Cod sursa (job #942797)
Cod sursa(job #942797)
#include <cstdio>
#include <cstring>
using namespace std;
int d1[10010],d2[10010];
int max(int a,int b)
{
if(a>b)
return a;
return b;
}
int main()
{
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
int N,G,w,p,i,j;
scanf("%d%d",&N,&G);
for(i=1;i<=N;i++)
{
scanf("%d%d",&w,&p);
for(j=1;j<=G;j++)
if(w>j)
d2[j]=d1[j];
else
d2[j]=max(d1[j],d1[j-w]+p);
memcpy(d1,d2,sizeof(d2));
}
printf("%d",d2[G]);
return 0;
}