为什么 j 从1开始会WA,从0开始AC,玄学啊
查看原帖
为什么 j 从1开始会WA,从0开始AC,玄学啊
853953
ljx_gkx楼主2023/4/1 13:59
#include<iostream>
#include<cstring>
#include<algorithm>
#include<vector>

using namespace std;
const int N = 1e3 + 10;
long long win[N], lose[N], cnt[N];
long long f[N][N];    //从前 i 种物品里面选,总体积不超过 j 的最大价值!
int n, m;   //物品个数,背包的体积!

int main()
{
    cin >> n >> m;
    for (int i=1; i <= n; i ++)
        cin >> lose[i] >> win[i] >> cnt[i];

    for (int i=1; i <= n; i++)
    {
        for (int j=0; j <= m; j ++)
        {
            if (j >= cnt[i]) f[i][j] = max(f[i-1][j] + lose[i], f[i-1][j-cnt[i]] + win[i]);
            else f[i][j] = f[i-1][j] + lose[i];
        }
    }
    cout << f[n][m]*5 << endl;
    
    return 0;
}
2023/4/1 13:59
加载中...