제출 #1266854

#제출 시각아이디문제언어결과실행 시간메모리
1266854BalsaKnapsack (NOI18_knapsack)C++20
73 / 100
151 ms327680 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; void solve() { ll S, n; cin >> S >> n; vector<ll> V(n+1), W(n+1), K(n+1); for (ll i = 1; i <= n; i++) { cin >> V[i] >> W[i] >> K[i]; K[i] = min(K[i], 2000LL); } vector<vector<ll>> dp(n+1, vector<ll>(S+1, 0)); for (ll i = 1; i <= n; i++) { for (ll w = 1; w <= S; w++) { for (ll j = 0; j <= K[i]; j++) { if (w - j*W[i] < 0) break; dp[i][w] = max(dp[i][w], dp[i-1][w-j*W[i]] + j*V[i]); } } } // for (ll i = 0; i <= n; i++) { // for (ll w = 0; w <= S; w++) { // cout << dp[i][w] << ' '; // } // cout << '\n'; // } cout << *max_element(dp[n].begin(), dp[n].end()) << '\n'; } int main() { // freopen("cowmbat.in", "r", stdin); // freopen("cowmbat.out", "w", stdout); ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); solve(); }
#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...