52132023-04-22 19:48:45sztomiMajomházcpp11Futási hiba 10/1003.101s524704 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
1Elfogadva3ms1828 KiB
2Futási hiba214ms524704 KiB
subtask210/10
3Elfogadva3ms2432 KiB
4Elfogadva3ms2680 KiB
5Elfogadva3ms2972 KiB
6Elfogadva4ms3184 KiB
7Elfogadva7ms3428 KiB
subtask30/10
8Időlimit túllépés3.101s24448 KiB
9Időlimit túllépés3.078s32152 KiB
10Időlimit túllépés3.068s51988 KiB
11Időlimit túllépés3.073s91384 KiB
12Időlimit túllépés3.053s209520 KiB
subtask40/20
13Futási hiba284ms523288 KiB
14Futási hiba305ms523012 KiB
15Futási hiba282ms522824 KiB
16Futási hiba203ms522788 KiB
17Futási hiba194ms522800 KiB
18Futási hiba240ms522768 KiB
subtask50/29
19Futási hiba307ms522708 KiB
20Futási hiba266ms522500 KiB
21Futási hiba202ms522316 KiB
22Futási hiba246ms522316 KiB
23Futási hiba243ms522300 KiB
subtask60/31
24Futási hiba365ms522312 KiB
25Futási hiba365ms522304 KiB
26Futási hiba367ms522284 KiB
27Futási hiba287ms522252 KiB
28Futási hiba287ms522124 KiB
29Futási hiba312ms521884 KiB
30Futási hiba289ms521688 KiB
31Futási hiba209ms521692 KiB
32Futási hiba201ms521688 KiB
33Futási hiba194ms521716 KiB
34Futási hiba181ms521660 KiB
35Futási hiba177ms521664 KiB
36Futási hiba173ms521660 KiB
37Futási hiba233ms521624 KiB
38Futási hiba237ms521624 KiB
39Futási hiba236ms521564 KiB
40Futási hiba189ms521540 KiB