52512023-04-24 10:31:41rennMajomházcpp11Futási hiba 10/1003.085s524700 KiB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

int n, k;
vector<vector<vector<ll>>> dp;
vector<ll> pref_sum;
vector<int> a;

ll resz_osszeg(int i, int j){
    return (pref_sum[j] - pref_sum[i-1]) * (j-i+1);
}

ll megold(int elso, int akt, int db){
    if(akt == n){
        return resz_osszeg(elso, n);
    }
    if(db == 0){
        return resz_osszeg(elso, n);
    }

    if(dp[elso][akt][db] != -1){
        return dp[elso][akt][db];
    }

    ll ki = megold(elso, akt+1, db);
    ki = min(ki, megold(akt+1, akt+1, db-1) + resz_osszeg(elso, akt));

    return ki;

}

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(NULL);

    cin >> n >> k;
    dp.assign(n+1, vector<vector<ll>>(n+1, vector<ll>(k+1, -1)));
    a.resize(n+1);
    for(int i = 1; i <= n; i++){
        cin >> a[i];
    }
    pref_sum.resize(n+1);
    pref_sum[0] = 0;
    for(int i = 1; i <= n; i++){
        pref_sum[i] = pref_sum[i-1] + a[i];
    }

    ll ret = megold(1, 1, k);

    cout << ret << "\n";

}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1832 KiB
2Futási hiba221ms524700 KiB
subtask210/10
3Elfogadva3ms2540 KiB
4Elfogadva3ms2868 KiB
5Elfogadva3ms2876 KiB
6Elfogadva4ms3152 KiB
7Elfogadva7ms3360 KiB
subtask30/10
8Időlimit túllépés3.059s24412 KiB
9Időlimit túllépés3.055s32260 KiB
10Időlimit túllépés3.085s51924 KiB
11Időlimit túllépés3.069s91856 KiB
12Időlimit túllépés3.081s209660 KiB
subtask40/20
13Futási hiba330ms522960 KiB
14Futási hiba310ms522712 KiB
15Futási hiba287ms522468 KiB
16Futási hiba212ms522316 KiB
17Futási hiba239ms522268 KiB
18Futási hiba194ms522216 KiB
subtask50/29
19Futási hiba268ms522208 KiB
20Futási hiba268ms521944 KiB
21Futási hiba252ms521928 KiB
22Futási hiba196ms521956 KiB
23Futási hiba188ms521928 KiB
subtask60/31
24Futási hiba368ms521976 KiB
25Futási hiba330ms521760 KiB
26Futási hiba324ms521704 KiB
27Futási hiba286ms521652 KiB
28Futási hiba289ms521572 KiB
29Futási hiba266ms521600 KiB
30Futási hiba245ms521572 KiB
31Futási hiba211ms521564 KiB
32Futási hiba252ms521528 KiB
33Futási hiba193ms521496 KiB
34Futási hiba229ms521492 KiB
35Futási hiba178ms521524 KiB
36Futási hiba221ms521552 KiB
37Futási hiba187ms521540 KiB
38Futási hiba190ms521540 KiB
39Futási hiba189ms521524 KiB
40Futási hiba185ms521496 KiB