3 条题解

  • 1
    @ 2026-10-28 20:32:46
    
    
    #include<bits/stdc++.h>
    using namespace std;
    long long dp[101][1001];
    long long a[101],b[1001];
    int main(){
    	long long c,d;
    	cin >> c >> d;
    	for(int i = 1;i <= d;i++){
    		cin >> a[i] >> b[i];
    	}
    	for(int i = 1;i <= d;i++){
    		for(int j = 1;j <= c;j++){
    			if(j >= a[i]){
    				dp[i][j] = max(dp[i - 1][j],dp[i - 1][j - a[i]] + b[i]);
    			}else{
    				dp[i][j] = dp[i - 1][j];
    			}
    		}
    	}
    	cout << dp[d][c];
    	return 0;
    }
    
    
    • 0
      @ 2026-10-21 10:24:55
      • 0
        @ 2026-2-4 10:31:58
        • 1

        信息

        ID
        214
        时间
        1000ms
        内存
        256MiB
        难度
        6
        标签
        递交数
        31
        已通过
        11
        上传者