题解 | #采药#

采药

https://www.nowcoder.com/practice/d7c03b114f0541dd8e32ce9987326c16

#include <bits/stdc++.h>
#define MAX 1000
using namespace std;

int main() {
    int T, M, dp[MAX], i, j, v[MAX], w[MAX];
    cin >> T >> M;
    for (i = 1; i <= M; i++)
        cin >> w[i] >> v[i];
    memset(dp, 0, sizeof(dp));

    for (i = 1; i <= M; i++)
        for (j = T; j >= w[i]; j--) {
            dp[j] = max(dp[j - w[i]] + v[i], dp[j]);
        }
    cout << dp[T];
}

全部评论

相关推荐

点赞 评论 收藏
转发
1 收藏 评论
分享
牛客网
牛客企业服务