Luogu P2871 [USACO07DEC] Charm Bracelet Problem Solution

topic portal

This question is obviously a 01 backpack. So just set the template directly.

#include<bits/stdc++.h>
#define MAXN 30000
using namespace std;
int f[MAXN],w[MAXN],c[MAXN],n,v;
int main(){
    scanf("%d%d",&n,&v);
    for(int i=1;i<=n;i++)
        scanf("%d%d",&w[i],&c[i]);
    for(int i=1;i<=n;i++)
        for(int j=v;j>=w[i];j--)
            f[j]=max(f[j],f[j-w[i]]+c[i]);
    printf("%d\n",f[v]);
    return 0;
}

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325357453&siteId=291194637