#include <bits/stdc++.h>
using namespace std;
#define InTheNameOfGod ios::sync_with_stdio(0);cin.tie(0); cout.tie(0);
using ll = long long;
const int maxN = 2e5 + 5;
const int MOD = 1e9 + 7;
const int INF = 1e9 + 7;
int main() {
InTheNameOfGod;
int n,k;
cin >> n >> k;
vector<int> v(n), pref(n+1, 0);
for(int &i : v) cin >> i;
for(int i = 1; i <= n; i++) {
pref[i] = pref[i-1] + v[i-1];
}
vector<vector<ll>> dp(n, vector<ll>(k+1, INF)), prev(n, vector<ll>(k+1, 0));
dp[0][0] = v[0];
for(ll i = 1; i < n; i++) {
dp[i][0] = dp[i-1][0] + pref[i+1] + (i) * v[i];
}
for(int i = 0; i <= k; i++) {
dp[0][i] = v[0];
}
for(int j = 1; j <= k; j++) {
for(int i = 1; i < n; i++) {
ll val1 = dp[i-1][j-1] + v[i];
ll val2 = dp[i-1][j] + pref[i+1] - pref[prev[i-1][j]] + v[i] * (i- prev[i-1][j]);
if(val1 < val2) {
dp[i][j] = val1;
prev[i][j] = i;
}
else {
dp[i][j] = val2;
prev[i][j] = prev[i-1][j];
}
}
}
cout << dp[n-1][k] << "\n";
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
subtask1 | 0/0 | ||||||
1 | Elfogadva | 3ms | 1828 KiB | ||||
2 | Hibás válasz | 6ms | 5596 KiB | ||||
subtask2 | 0/10 | ||||||
3 | Hibás válasz | 3ms | 2140 KiB | ||||
4 | Hibás válasz | 3ms | 2268 KiB | ||||
5 | Hibás válasz | 3ms | 2452 KiB | ||||
6 | Hibás válasz | 3ms | 2668 KiB | ||||
7 | Hibás válasz | 3ms | 3008 KiB | ||||
subtask3 | 0/10 | ||||||
8 | Hibás válasz | 3ms | 3240 KiB | ||||
9 | Hibás válasz | 3ms | 3360 KiB | ||||
10 | Hibás válasz | 3ms | 3792 KiB | ||||
11 | Hibás válasz | 3ms | 4156 KiB | ||||
12 | Hibás válasz | 3ms | 4908 KiB | ||||
subtask4 | 0/20 | ||||||
13 | Hibás válasz | 4ms | 5104 KiB | ||||
14 | Hibás válasz | 4ms | 5512 KiB | ||||
15 | Hibás válasz | 4ms | 6088 KiB | ||||
16 | Hibás válasz | 8ms | 10892 KiB | ||||
17 | Hibás válasz | 14ms | 20020 KiB | ||||
18 | Hibás válasz | 75ms | 83052 KiB | ||||
subtask5 | 0/29 | ||||||
19 | Hibás válasz | 20ms | 21784 KiB | ||||
20 | Hibás válasz | 48ms | 37684 KiB | ||||
21 | Hibás válasz | 104ms | 90740 KiB | ||||
22 | Hibás válasz | 182ms | 169200 KiB | ||||
23 | Hibás válasz | 356ms | 325792 KiB | ||||
subtask6 | 0/31 | ||||||
24 | Hibás válasz | 34ms | 28016 KiB | ||||
25 | Hibás válasz | 34ms | 28132 KiB | ||||
26 | Hibás válasz | 35ms | 28244 KiB | ||||
27 | Hibás válasz | 37ms | 34228 KiB | ||||
28 | Hibás válasz | 37ms | 34160 KiB | ||||
29 | Hibás válasz | 41ms | 40552 KiB | ||||
30 | Hibás válasz | 56ms | 52972 KiB | ||||
31 | Hibás válasz | 136ms | 103108 KiB | ||||
32 | Hibás válasz | 345ms | 178404 KiB | ||||
33 | Hibás válasz | 633ms | 334788 KiB | ||||
34 | Futási hiba | 190ms | 521904 KiB | ||||
35 | Futási hiba | 188ms | 521880 KiB | ||||
36 | Futási hiba | 233ms | 521852 KiB | ||||
37 | Futási hiba | 247ms | 521828 KiB | ||||
38 | Futási hiba | 203ms | 521776 KiB | ||||
39 | Futási hiba | 197ms | 521704 KiB | ||||
40 | Futási hiba | 200ms | 521688 KiB |