제출 #1345166

#제출 시각아이디문제언어결과실행 시간메모리
1345166po_rag526Knapsack (NOI18_knapsack)C++17
100 / 100
887 ms49904 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long

signed main(){
    ios::sync_with_stdio(false);
	cin.tie(nullptr);

    int s, n;
    cin >> s >> n;
    vector<int> w, v;
    vector<int> dp(s+1, 0);
    for(int i = 0; i < n; i++){
        int a, b, c;
        cin >> a >> b >> c;
        int k = 1;
        while (c > 0){
            int mn = min(k, c);
            w.push_back(mn * b);
            v.push_back(mn * a);
            c -= mn;
            k*=2;
        }
    }
    for(int i = 0; i < (int)w.size(); i++){
        for(int j = s; j >= w[i]; j--){
            dp[j] = max(dp[j], dp[j-w[i]] + v[i]); 
        }
    }cout << dp[s];
}
#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...