52262023-04-23 07:43:00sztomiMajomházcpp11Futási hiba 10/1003.098s524700 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 hiba254ms524700 KiB
subtask210/10
3Elfogadva3ms2384 KiB
4Elfogadva3ms2620 KiB
5Elfogadva3ms2708 KiB
6Elfogadva4ms2852 KiB
7Elfogadva7ms2936 KiB
subtask30/10
8Időlimit túllépés3.075s24032 KiB
9Időlimit túllépés3.066s32064 KiB
10Időlimit túllépés3.055s52048 KiB
11Időlimit túllépés3.065s91544 KiB
12Időlimit túllépés3.098s209540 KiB
subtask40/20
13Futási hiba330ms523352 KiB
14Futási hiba303ms523320 KiB
15Futási hiba280ms523076 KiB
16Futási hiba241ms523064 KiB
17Futási hiba236ms522776 KiB
18Futási hiba246ms522600 KiB
subtask50/29
19Futási hiba305ms522572 KiB
20Futási hiba268ms522528 KiB
21Futási hiba256ms522592 KiB
22Futási hiba247ms522572 KiB
23Futási hiba241ms522532 KiB
subtask60/31
24Futási hiba323ms522312 KiB
25Futási hiba314ms522168 KiB
26Futási hiba319ms522172 KiB
27Futási hiba284ms521940 KiB
28Futási hiba279ms521840 KiB
29Futási hiba305ms521888 KiB
30Futási hiba289ms521868 KiB
31Futási hiba256ms521896 KiB
32Futási hiba250ms521864 KiB
33Futási hiba188ms521588 KiB
34Futási hiba229ms521580 KiB
35Futási hiba177ms521612 KiB
36Futási hiba221ms521568 KiB
37Futási hiba232ms521636 KiB
38Futási hiba190ms521664 KiB
39Futási hiba186ms521604 KiB
40Futási hiba188ms521544 KiB