# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1077271 | 2024-08-27T04:28:15 Z | YudoTLE | Feast (NOI19_feast) | C++17 | 98 ms | 5252 KB |
#include <bits/stdc++.h> using namespace std; using ll = long long; const int INF = INT_MAX / 2; const int MAXN = 3e5 + 5; int n, k; ll arr[MAXN], dp[MAXN][2]; int cnt[MAXN][2]; ll answer; bool eval(ll c) { dp[0][1] = -INF; for (int i = 1; i <= n; i++) { if (dp[i - 1][0] >= dp[i - 1][1]) { dp[i][0] = dp[i - 1][0]; cnt[i][0] = cnt[i - 1][0]; } else { dp[i][0] = dp[i - 1][1]; cnt[i][0] = cnt[i - 1][1]; } if (dp[i - 1][0] - c >= dp[i - 1][1]) { dp[i][1] = arr[i] + dp[i - 1][0] - c; cnt[i][1] = cnt[i - 1][0] + 1; } else { dp[i][1] = arr[i] + dp[i - 1][1]; cnt[i][1] = cnt[i - 1][1]; } } ll optv = LLONG_MIN; int optx = INT_MIN; for (int i = 0; i <= n; i++) for (int ii = 0; ii < 2; ii++) { ll nv = dp[i][ii] + c * cnt[i][ii]; int nx = cnt[i][ii]; if (nv > optv) { optv = nv; optx = nx; } if (nv == optv) optx = min(optx, nx); } if (optx <= k) answer = max(answer, optv); return optx <= k; } void solve() { cin >> n >> k; ll tot = 0; for (int i = 1; i <= n; i++) { cin >> arr[i]; tot += arr[i]; } cout << tot << '\n'; ll lo = 0, hi = INF; // while (lo <= hi) // { // ll mi = lo + (hi - lo) / 2; // if (eval(mi)) // hi = mi - 1; // else // lo = mi + 1; // } // for (int i = 0; i <= 1000; i++) // eval(i); // cout << answer << '\n'; // cout << accumulate(arr + 1, arr + n + 1, 0ll) << '\n'; } int main() { // ios_base::sync_with_stdio(false), cin.tie(0); int t = 1; // cin >> t; while (t--) solve(); return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 86 ms | 5024 KB | Output is correct |
2 | Correct | 74 ms | 5204 KB | Output is correct |
3 | Correct | 82 ms | 5156 KB | Output is correct |
4 | Correct | 74 ms | 5200 KB | Output is correct |
5 | Correct | 75 ms | 5252 KB | Output is correct |
6 | Correct | 77 ms | 4944 KB | Output is correct |
7 | Correct | 73 ms | 4944 KB | Output is correct |
8 | Correct | 73 ms | 5208 KB | Output is correct |
9 | Correct | 98 ms | 4824 KB | Output is correct |
10 | Correct | 75 ms | 5200 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 35 ms | 3676 KB | Output is correct |
2 | Correct | 36 ms | 3660 KB | Output is correct |
3 | Incorrect | 36 ms | 3812 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 81 ms | 5204 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 348 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 348 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 348 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 86 ms | 5024 KB | Output is correct |
2 | Correct | 74 ms | 5204 KB | Output is correct |
3 | Correct | 82 ms | 5156 KB | Output is correct |
4 | Correct | 74 ms | 5200 KB | Output is correct |
5 | Correct | 75 ms | 5252 KB | Output is correct |
6 | Correct | 77 ms | 4944 KB | Output is correct |
7 | Correct | 73 ms | 4944 KB | Output is correct |
8 | Correct | 73 ms | 5208 KB | Output is correct |
9 | Correct | 98 ms | 4824 KB | Output is correct |
10 | Correct | 75 ms | 5200 KB | Output is correct |
11 | Correct | 35 ms | 3676 KB | Output is correct |
12 | Correct | 36 ms | 3660 KB | Output is correct |
13 | Incorrect | 36 ms | 3812 KB | Output isn't correct |
14 | Halted | 0 ms | 0 KB | - |