52162023-04-22 20:04:28sztomiMajomházcpp14Futási hiba 10/1003.078s524704 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
1Elfogadva3ms1816 KiB
2Futási hiba209ms524704 KiB
subtask210/10
3Elfogadva3ms2400 KiB
4Elfogadva3ms2372 KiB
5Elfogadva3ms2648 KiB
6Elfogadva4ms2712 KiB
7Elfogadva7ms2852 KiB
subtask30/10
8Időlimit túllépés3.075s23736 KiB
9Időlimit túllépés3.075s31920 KiB
10Időlimit túllépés3.058s51468 KiB
11Időlimit túllépés3.066s90944 KiB
12Időlimit túllépés3.078s209140 KiB
subtask40/20
13Futási hiba282ms523516 KiB
14Futási hiba256ms523464 KiB
15Futási hiba282ms523192 KiB
16Futási hiba202ms523244 KiB
17Futási hiba190ms522952 KiB
18Futási hiba240ms522924 KiB
subtask50/29
19Futási hiba259ms522704 KiB
20Futási hiba266ms522680 KiB
21Futási hiba199ms522636 KiB
22Futási hiba197ms522640 KiB
23Futási hiba192ms522472 KiB
subtask60/31
24Futási hiba363ms522264 KiB
25Futási hiba317ms522284 KiB
26Futási hiba363ms522000 KiB
27Futási hiba331ms521796 KiB
28Futási hiba326ms521864 KiB
29Futási hiba310ms521852 KiB
30Futási hiba247ms521584 KiB
31Futási hiba256ms521584 KiB
32Futási hiba250ms521544 KiB
33Futási hiba239ms521572 KiB
34Futási hiba231ms521604 KiB
35Futási hiba181ms521588 KiB
36Futási hiba221ms521568 KiB
37Futási hiba232ms521604 KiB
38Futási hiba192ms521588 KiB
39Futási hiba189ms521560 KiB
40Futási hiba234ms521508 KiB