제출 #756348

#제출 시각아이디문제언어결과실행 시간메모리
756348asdasdqwerKnapsack (NOI18_knapsack)C++14
0 / 100
1 ms304 KiB
#include <bits/stdc++.h> using namespace std; int main() { int s, n; cin >> s >> n; vector<int64_t> dp(s+1, 0); vector<pair<int64_t, int64_t>> items; for (int i = 0; i < n; i++) { int64_t v, w, k; cin >> v >> w >> k; k = min((s / k) + 1, k); for (int j = 0; j < k; j++) { items.push_back(make_pair(v, w)); } } sort(items.begin(), items.end()); int size = items.size(); for (int i = 0; i < size; i++) { for (int j = n; j > 0; j--) { if ((j - items[i].second > -1) && (dp[j - items[i].second] + items[i].first > dp[j])) { dp[j] = dp[j - items[i].second] + items[i].first; } } } cout << dp[n] << "\n"; }
#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...