top1编程
← 返回题目
题解

【提高】Bessie的体重问题

1 条题解

  • 0
    @ 2026-7-29 0:17:55
    #include <iostream>
    #include <vector>
    using namespace std;
    int main() {
        int H, N;
        cin >> H >> N;
        vector<int> dp(H + 1, 0);
        for (int i = 0; i < N; ++i) {
            int s;
            cin >> s;
            for (int j = H; j >= s; --j) {
                if (dp[j - s] + s > dp[j]) {
                    dp[j] = dp[j - s] + s;
                }
            }
        }
        cout << dp[H];
        return 0;
    }
    
    • 1