| 29086 | 2026-06-04 17:54:57 | miszorimarci | Dombok | cpp17 | Elfogadva 100/100 | 790ms | 760 KiB |
#include <bits/stdc++.h>
using namespace std;
const int INF = 1e9;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n; cin >> n;
vector<int> a(n + 1);
for (int i = 1; i <= n; ++i)cin >> a[i];
int max_k = (n + 1) / 2;
vector<vector<int>> prev_dp(max_k + 1, vector<int>(3, INF));
prev_dp[0][0] = 0;
prev_dp[1][1] = 0;
for (int i = 2; i <= n; ++i) {
vector<vector<int>> curr_dp(max_k + 1, vector<int>(3, INF));
for (int j = 0; j <= (i + 1) / 2 && j <= max_k; ++j) {
curr_dp[j][0] = min(prev_dp[j][0], prev_dp[j][2]);
if (j > 0) {
int val1 = prev_dp[j - 1][0] == INF ? INF : prev_dp[j - 1][0] + max(0, a[i - 1] - a[i] + 1);
int val2 = INF;
if (i >= 3 && prev_dp[j - 1][2] != INF) {
val2 = prev_dp[j - 1][2] + max(0, min(a[i - 1], a[i - 2] - 1) - a[i] + 1);
}
curr_dp[j][1] = min(val1, val2);
}
curr_dp[j][2] = prev_dp[j][1] == INF ? INF : prev_dp[j][1] + max(0, a[i] - a[i - 1] + 1);
}
prev_dp = move(curr_dp);
}
for (int k = 1; k <= max_k; ++k) {
int ans = min({prev_dp[k][0], prev_dp[k][1], prev_dp[k][2]});
cout << ans << (k == max_k ? "" : " ");
}
cout << "\n";
return 0;
}| Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
|---|---|---|---|---|---|---|---|
| 0 | 0/0 | ||||||
| 1 | Elfogadva | 1ms | 316 KiB | ||||
| 2 | Elfogadva | 1ms | 316 KiB | ||||
| 3 | Elfogadva | 1ms | 316 KiB | ||||
| 1 | 7/7 | ||||||
| 4 | Elfogadva | 1ms | 316 KiB | ||||
| 5 | Elfogadva | 1ms | 316 KiB | ||||
| 6 | Elfogadva | 1ms | 316 KiB | ||||
| 7 | Elfogadva | 1ms | 316 KiB | ||||
| 8 | Elfogadva | 1ms | 316 KiB | ||||
| 9 | Elfogadva | 1ms | 324 KiB | ||||
| 10 | Elfogadva | 1ms | 316 KiB | ||||
| 11 | Elfogadva | 1ms | 316 KiB | ||||
| 12 | Elfogadva | 1ms | 316 KiB | ||||
| 13 | Elfogadva | 1ms | 316 KiB | ||||
| 2 | 15/15 | ||||||
| 14 | Elfogadva | 1ms | 508 KiB | ||||
| 15 | Elfogadva | 1ms | 316 KiB | ||||
| 16 | Elfogadva | 1ms | 392 KiB | ||||
| 17 | Elfogadva | 2ms | 508 KiB | ||||
| 18 | Elfogadva | 1ms | 316 KiB | ||||
| 19 | Elfogadva | 1ms | 376 KiB | ||||
| 20 | Elfogadva | 1ms | 316 KiB | ||||
| 21 | Elfogadva | 1ms | 316 KiB | ||||
| 22 | Elfogadva | 1ms | 500 KiB | ||||
| 23 | Elfogadva | 1ms | 316 KiB | ||||
| 24 | Elfogadva | 1ms | 316 KiB | ||||
| 25 | Elfogadva | 2ms | 508 KiB | ||||
| 26 | Elfogadva | 1ms | 316 KiB | ||||
| 27 | Elfogadva | 1ms | 508 KiB | ||||
| 28 | Elfogadva | 1ms | 508 KiB | ||||
| 3 | 13/13 | ||||||
| 29 | Elfogadva | 2ms | 508 KiB | ||||
| 30 | Elfogadva | 3ms | 316 KiB | ||||
| 31 | Elfogadva | 2ms | 316 KiB | ||||
| 32 | Elfogadva | 3ms | 316 KiB | ||||
| 33 | Elfogadva | 1ms | 316 KiB | ||||
| 34 | Elfogadva | 1ms | 420 KiB | ||||
| 35 | Elfogadva | 1ms | 316 KiB | ||||
| 36 | Elfogadva | 1ms | 316 KiB | ||||
| 37 | Elfogadva | 3ms | 316 KiB | ||||
| 38 | Elfogadva | 2ms | 316 KiB | ||||
| 39 | Elfogadva | 2ms | 316 KiB | ||||
| 40 | Elfogadva | 2ms | 316 KiB | ||||
| 4 | 18/18 | ||||||
| 41 | Elfogadva | 1ms | 316 KiB | ||||
| 42 | Elfogadva | 3ms | 316 KiB | ||||
| 43 | Elfogadva | 2ms | 508 KiB | ||||
| 44 | Elfogadva | 1ms | 316 KiB | ||||
| 45 | Elfogadva | 1ms | 316 KiB | ||||
| 46 | Elfogadva | 1ms | 332 KiB | ||||
| 47 | Elfogadva | 2ms | 316 KiB | ||||
| 48 | Elfogadva | 1ms | 316 KiB | ||||
| 49 | Elfogadva | 1ms | 316 KiB | ||||
| 5 | 22/22 | ||||||
| 50 | Elfogadva | 1ms | 560 KiB | ||||
| 51 | Elfogadva | 1ms | 316 KiB | ||||
| 52 | Elfogadva | 8ms | 444 KiB | ||||
| 53 | Elfogadva | 8ms | 508 KiB | ||||
| 54 | Elfogadva | 8ms | 440 KiB | ||||
| 55 | Elfogadva | 8ms | 436 KiB | ||||
| 56 | Elfogadva | 8ms | 452 KiB | ||||
| 57 | Elfogadva | 9ms | 316 KiB | ||||
| 58 | Elfogadva | 8ms | 316 KiB | ||||
| 59 | Elfogadva | 8ms | 452 KiB | ||||
| 60 | Elfogadva | 8ms | 316 KiB | ||||
| 61 | Elfogadva | 8ms | 448 KiB | ||||
| 62 | Elfogadva | 9ms | 500 KiB | ||||
| 63 | Elfogadva | 9ms | 648 KiB | ||||
| 6 | 25/25 | ||||||
| 64 | Elfogadva | 32ms | 316 KiB | ||||
| 65 | Elfogadva | 32ms | 508 KiB | ||||
| 66 | Elfogadva | 787ms | 564 KiB | ||||
| 67 | Elfogadva | 787ms | 564 KiB | ||||
| 68 | Elfogadva | 790ms | 748 KiB | ||||
| 69 | Elfogadva | 788ms | 720 KiB | ||||
| 70 | Elfogadva | 787ms | 760 KiB | ||||
| 71 | Elfogadva | 787ms | 564 KiB | ||||
| 72 | Elfogadva | 788ms | 716 KiB | ||||
| 73 | Elfogadva | 787ms | 720 KiB | ||||
| 74 | Elfogadva | 788ms | 564 KiB | ||||
| 75 | Elfogadva | 790ms | 564 KiB | ||||
| 76 | Elfogadva | 787ms | 712 KiB | ||||