제출 #1327752

#제출 시각아이디문제언어결과실행 시간메모리
1327752flyKnapsack (NOI18_knapsack)C++20
73 / 100
1095 ms436 KiB
#include <bits/stdc++.h>
using namespace std;
int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int s, n;
    cin >> s >> n;
    vector<long long> bp(s+1);
    int v, w, k;
    for (int q = 0; q < n; q++) {
        cin >> v >> w >> k;
        for (int i = s; i >= 0; i--) {
            for (int j = 1; j <= k; j++) {
                int nw = i + j*w;
                if (nw > s) break;
                bp[nw] = max(bp[nw], bp[i] + v*j);
            }
        }
    }
    long long answer = 0;
    for (int i = 0; i <= s; i++) {
        answer = max(answer, bp[i]);
    }
    cout << answer;
}
#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...