求助二维dp找不到错误
查看原帖
求助二维dp找不到错误
1035847
Tomatos03楼主2024/3/28 10:31

请求指出代码的错误,我找不到....

#include <bits/stdc++.h>
//----mxcro----------------
#define MAXN int(1e9 + 7)
#define MOD int(1e9 + 7)
#define endl '\n'
#define rep(i, starts, ends) for(int i = starts; i <= ends; ++i)
//----namespace------------
using namespace std;
//----struct---------------
struct node{
    int a, b;
};
//----constxnt-------------
const double eps = 1e-5;
//----verious-------------
//----mathod-----------

void solve() {
    int V;
    cin >> V;
    int n;
    cin >> n;
    int v[n + 1] = {0};
    rep(i, 1, n) cin >> v[i];
    int f[n + 1][V + 1];
	memset(f, 0, sizeof(f));
    rep(i, 1, n) {
        rep(j, v[i], V) {
            f[i][j] = max(f[i - 1][j], f[i - 1][j - v[i]] + v[i]);
        }
    }
    cout << (V - f[n][V]) << endl;
}

int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    // int t;
    // cin >> t;
    // while(t-- > 0) {
    //     solve();
    // }
    solve();
    return 0;
}
2024/3/28 10:31
加载中...