6898 | 2023-12-19 15:06:14 | 111 | Tulipán csokrok | cpp17 | Elfogadva 100/100 | 1.046s | 793308 KiB |
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define double long double
#define pii pair<int, int>
int random(int a, int b) {
static random_device rd;
return uniform_int_distribution<int>(a, b)(rd);
}
signed main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
#ifdef CB
freopen("in.txt", "r", stdin);
// freopen("out.txt", "w", stdout);
#endif
int N = 10000, K = 5000;
cin >> N >> K;
int v[N + 1];
for (int i = 1; i <= N; i++) {
v[i] = random(1, 1000000000);
cin >> v[i];
}
int dp[K + 1][N + 1];
for (int i = 1; i <= N; i++) {
dp[0][i] = -1e9;
}
pii a[N];
int b[N + 1];
for (int i = 1; i <= K; i++) {
dp[i - 1][0] = 0;
b[0] = 0;
int c = 0;
for (int j = 1; j <= N; j++) {
int m = dp[i - 1][j - 1] + v[j];
while (c > 0 && a[c - 1].first > v[j]) {
m = max(m, a[c - 1].second - a[c - 1].first + v[j]);
c--;
}
a[c++] = {v[j], m};
dp[i][j] = b[c] = max(b[c - 1], m);
}
}
cout << dp[K][N] << endl;
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
subtask1 | 0/0 | ||||||
1 | Elfogadva | 3ms | 1828 KiB | ||||
2 | Elfogadva | 3ms | 2060 KiB | ||||
subtask2 | 12/12 | ||||||
3 | Elfogadva | 3ms | 2384 KiB | ||||
4 | Elfogadva | 3ms | 2460 KiB | ||||
5 | Elfogadva | 79ms | 13440 KiB | ||||
subtask3 | 25/25 | ||||||
6 | Elfogadva | 3ms | 2716 KiB | ||||
7 | Elfogadva | 3ms | 2688 KiB | ||||
8 | Elfogadva | 3ms | 2716 KiB | ||||
9 | Elfogadva | 3ms | 2796 KiB | ||||
10 | Elfogadva | 3ms | 2976 KiB | ||||
11 | Elfogadva | 3ms | 3184 KiB | ||||
subtask4 | 25/25 | ||||||
12 | Elfogadva | 3ms | 3312 KiB | ||||
13 | Elfogadva | 3ms | 3408 KiB | ||||
14 | Elfogadva | 3ms | 3496 KiB | ||||
15 | Elfogadva | 3ms | 3536 KiB | ||||
16 | Elfogadva | 3ms | 3608 KiB | ||||
17 | Elfogadva | 3ms | 3976 KiB | ||||
18 | Elfogadva | 3ms | 4268 KiB | ||||
19 | Elfogadva | 4ms | 5500 KiB | ||||
20 | Elfogadva | 4ms | 6924 KiB | ||||
subtask5 | 38/38 | ||||||
21 | Elfogadva | 917ms | 786448 KiB | ||||
22 | Elfogadva | 962ms | 787096 KiB | ||||
23 | Elfogadva | 1.001s | 789560 KiB | ||||
24 | Elfogadva | 1.046s | 793308 KiB | ||||
25 | Elfogadva | 561ms | 402464 KiB | ||||
26 | Elfogadva | 270ms | 167772 KiB | ||||
27 | Elfogadva | 93ms | 26924 KiB | ||||
28 | Elfogadva | 153ms | 73916 KiB | ||||
29 | Elfogadva | 465ms | 324184 KiB | ||||
30 | Elfogadva | 792ms | 637252 KiB | ||||
31 | Elfogadva | 990ms | 788564 KiB | ||||
32 | Elfogadva | 977ms | 787800 KiB |