52142023-04-22 19:49:21sztomiMajomházcpp11Futási hiba 10/1003.101s524688 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 hiba257ms524688 KiB
subtask210/10
3Elfogadva3ms2408 KiB
4Elfogadva3ms2392 KiB
5Elfogadva3ms2408 KiB
6Elfogadva4ms2676 KiB
7Elfogadva7ms2896 KiB
subtask30/10
8Időlimit túllépés3.101s23632 KiB
9Időlimit túllépés3.063s31716 KiB
10Időlimit túllépés3.066s51668 KiB
11Időlimit túllépés3.066s91364 KiB
12Időlimit túllépés3.062s209860 KiB
subtask40/20
13Futási hiba284ms523100 KiB
14Futási hiba307ms523036 KiB
15Futási hiba239ms522900 KiB
16Futási hiba202ms522880 KiB
17Futási hiba193ms522592 KiB
18Futási hiba194ms522660 KiB
subtask50/29
19Futási hiba310ms522624 KiB
20Futási hiba268ms522356 KiB
21Futási hiba254ms522164 KiB
22Futási hiba245ms521940 KiB
23Futási hiba195ms521920 KiB
subtask60/31
24Futási hiba367ms521856 KiB
25Futási hiba368ms521912 KiB
26Futási hiba328ms521892 KiB
27Futási hiba291ms521852 KiB
28Futási hiba333ms521704 KiB
29Futási hiba266ms521684 KiB
30Futási hiba291ms521524 KiB
31Futási hiba257ms521532 KiB
32Futási hiba248ms521504 KiB
33Futási hiba188ms521444 KiB
34Futási hiba178ms521500 KiB
35Futási hiba223ms521452 KiB
36Futási hiba221ms521528 KiB
37Futási hiba188ms521560 KiB
38Futási hiba187ms521560 KiB
39Futási hiba185ms521496 KiB
40Futási hiba185ms521520 KiB