73分求救 玄关 #8#9#10测试点错,其余全对
查看原帖
73分求救 玄关 #8#9#10测试点错,其余全对
1090136
red_dust楼主2025/1/23 11:02

话不多说附上代码

#include<bits/stdc++.h>
using namespace std;
int n,m,a[1010],b[1010],dp[1010][100010];
int main(){
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++) scanf("%d%d",&a[i],&b[i]);
    for(int i=1;i<=n;i++){
        for(int j=m;j>=0;j--){
            if(j>=a[i]) dp[i][j]=max(dp[i-1][j-a[i]]+b[i],dp[i-1][j]);
            else dp[i][j]=dp[i-1][j];
        }
    }
    printf("%d",dp[n][m]);
    return 0;
}

DP代码

2025/1/23 11:02
加载中...