292112026-06-08 18:31:44LazurAndrasMajomházcpp17Futási hiba 69/1003.088s2036 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int INF = 1e18, N = 50001;

int n, k;
int a[N], pref[N];
int dp[N][2];

void calc(int l, int r, int L, int R, int j)
{
    if(l > r) return;
    int m = (l+r) / 2;
    dp[m][j] = INF;
    int M = 0;
    int c = j^1;
    for(int i = L; i <= min(R, m-1); i++)
    {
        int val = dp[i][c] + (pref[m] - pref[i]) * (m-i);
        if(val < dp[m][j])
        {
            dp[m][j] = val;
            M = i;
        }
    }
    calc(l, m-1, L, M, j);
    calc(m+1, r, M, R, j);
}

signed main() {
    ios::sync_with_stdio(false);cin.tie(nullptr);
	cin >> n >> k;
    k++;
    for(int i = 1; i <= n; i++)
    {
        cin >> a[i];
        pref[i] = pref[i-1] + a[i];
    }
    for(int i = 1; i <= n; i++)
    {
        dp[i][0] = dp[i][1] = INF;
    }
    for(int j = 1; j <= k; j++)
    {
        calc(1, n, 0, n, j%2);
    }
    cout << dp[n][k%2];
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva7ms564 KiB
subtask210/10
3Elfogadva1ms316 KiB
4Elfogadva1ms324 KiB
5Elfogadva1ms316 KiB
6Elfogadva1ms316 KiB
7Elfogadva1ms316 KiB
subtask310/10
8Elfogadva1ms316 KiB
9Elfogadva1ms352 KiB
10Elfogadva2ms456 KiB
11Elfogadva2ms316 KiB
12Elfogadva3ms508 KiB
subtask420/20
13Elfogadva3ms572 KiB
14Elfogadva3ms564 KiB
15Elfogadva4ms564 KiB
16Elfogadva13ms564 KiB
17Elfogadva28ms596 KiB
18Elfogadva118ms612 KiB
subtask529/29
19Elfogadva25ms1844 KiB
20Elfogadva54ms1848 KiB
21Elfogadva162ms1844 KiB
22Elfogadva314ms1844 KiB
23Elfogadva607ms1844 KiB
subtask60/31
24Futási hiba8ms1076 KiB
25Időlimit túllépés3.078s2036 KiB
26Futási hiba7ms1076 KiB
27Futási hiba7ms1076 KiB
28Futási hiba8ms1076 KiB
29Futási hiba7ms1044 KiB
30Futási hiba8ms1076 KiB
31Futási hiba8ms1076 KiB
32Futási hiba8ms1076 KiB
33Időlimit túllépés3.088s1844 KiB
34Futási hiba8ms1080 KiB
35Futási hiba8ms1268 KiB
36Futási hiba8ms1076 KiB
37Futási hiba7ms1076 KiB
38Futási hiba7ms1076 KiB
39Futási hiba7ms1076 KiB
40Futási hiba8ms1076 KiB