Submission #909620

#TimeUsernameProblemLanguageResultExecution timeMemory
909620MilosMilutinovic스트랩 (JOI14_straps)C++14
100 / 100
22 ms764 KiB
#include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(0); int n; cin >> n; vector<int> a(n), b(n); for (int i = 0; i < n; i++) { cin >> a[i] >> b[i]; } const long long inf = (long long) 1e18; vector<long long> dp(2 * n + 1, -inf); dp[n + 1] = 0; for (int i = 0; i < n; i++) { auto new_dp = dp; for (int bal = -n; bal <= n; bal++) { int new_bal = min(n, bal - 1 + a[i]); if (new_bal >= -n) { new_dp[new_bal + n] = max(new_dp[new_bal + n], dp[bal + n] + b[i]); } } swap(dp, new_dp); } long long res = 0; for (int i = 0; i <= n; i++) { res = max(res, dp[n + i]); } cout << res << '\n'; 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...