제출 #1132324

#제출 시각아이디문제언어결과실행 시간메모리
1132324viwlesxqKnapsack (NOI18_knapsack)C++20
73 / 100
1093 ms2632 KiB
#include <bits/stdc++.h>

using namespace std;

#define int long long

signed main() {
    cin.tie(nullptr)->sync_with_stdio(false);
    int s, n; cin >> s >> n;

    int v[n], w[n], k[n];
    for (int i = 0; i < n; ++i)
        cin >> v[i] >> w[i] >> k[i];

    int dp[s + 1];
    memset(dp, 0, sizeof(dp));

    for (int i = 0; i < n; ++i) {
        for (int j = 1; j * w[i] <= s && j <= k[i]; ++j) {
            for (int p = s; p >= w[i]; --p) {
                dp[p] = max(dp[p - w[i]] + v[i], dp[p]);
            }
        }
    }

    cout << *max_element(dp, dp + s + 1);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...