【Luogu1616】瘋狂的採藥

小哈里發表於2018-04-30

題面

完全揹包

題解

#include<iostream>
using namespace std;
const int maxn = 100010;
int n, m, c[maxn], w[maxn], f[maxn];
int main(){
    cin>>m>>n;
    for(int i = 1; i <= n; i++)
        cin>>c[i]>>w[i];
    for(int i = 1; i <= n; i++)
        for(int j = c[i]; j <= m; j++)
            f[j] = max(f[j],f[j-c[i]]+w[i]);
    cout<<f[m]<<"\n";
    return 0;
}

相關文章