// 采药, 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药

#include <iostream>

using namespace std;

const int N = 110, M = 1010;

int dp[M], t[N], w[N];
int n, m;

void input() {
    cin >> m >> n;
    for(int i = 1; i <= n; ++ i) cin >> t[i] >> w[i];
}

void solve() {
    for(int  i = 1; i <= n; ++ i) 
        for(int j = m; j >= t[i]; -- j) 
            dp[j] = max(dp[j], dp[j - t[i]] + w[i]);
}

int main(){
    input();

    solve();
    cout << dp[m] << endl;
    return 0;
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务