PKU3624 0-1背包问题

基础中的基础#include<stdio.h>
int main(){
int n,m;
while(scanf("%d%d",&n,&m)!=EOF){

int a[3410]={0},b[3410]={0},c[12890]={0};
for(int i=1;i<=n;i++){
scanf("%d%d",&a[i],&b[i]);
}
for(int j=1;j<=n;j++){
for(int k=m;k>=a[j];k--){
if(c[k]<c[k-a[j]]+b[j])
c[k]=c[k-a[j]]+b[j];
}
}

printf("%d\n",c[m]);
break;
}
return 0;
}

posted @ 2011-11-13 12:57  Acmen  阅读(138)  评论(0编辑  收藏  举报