top1编程
← 返回题目
题解

【基础】采灵芝

1 条题解

  • 0
    @ 2026-7-29 0:17:15
    #include <bits/stdc++.h>
    using namespace std;
    long long w[20005],c[20005],dp[200005],m,n;
    int main(){
    	cin >> m >> n;
    	for(int i=1;i<=n;i++){
    		cin >> w[i] >> c[i];
    	}
    	for(int i=1;i<=n;i++){
    		for(int j=w[i];j<=m;j++){
    			dp[j] = max(dp[j],dp[j-w[i]]+c[i]);
    		}
    	}
    	cout << dp[m];
    	return 0;
    }
    
    • 1