Submission #1089996

#TimeUsernameProblemLanguageResultExecution timeMemory
1089996EmmaXIIKnapsack (NOI18_knapsack)C++17
73 / 100
1042 ms3928 KiB
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
using vi = vector<int>;
using vvi = vector<vector<int>>;
using vll = vector<ll>;
using vvll = vector<vector<ll>>;

#define all(x) x.begin(), x.end()
#define ckmin(a,b) a = min(a,b)
#define ckmax(a,b) a = max(a,b)


int main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(NULL);

    int N, S;
    cin >> S >> N;

    vll V(N);
    vi W(N);
    vll K(N);

    for (int i=0;i<N;i++) cin >> V[i] >> W[i] >> K[i];

    vll dp(S+1, 0);
    for (int i=0;i<N;i++) {
        for (int j=S;j>=0;j--) {
            for (int k=0;j-k*W[i]>=0 && k <= K[i];k++) {
                ckmax(dp[j], dp[j-k*W[i]] + k * V[i]);
            }
        }
    }

    cout << dp[S] << endl;

    return 0;
}
#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...