52172023-04-22 20:05:20sztomiMajomházcpp17Futási hiba 10/1003.101s524700 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
1Elfogadva3ms1820 KiB
2Futási hiba214ms524700 KiB
subtask210/10
3Elfogadva3ms2500 KiB
4Elfogadva3ms2616 KiB
5Elfogadva3ms2968 KiB
6Elfogadva4ms3320 KiB
7Elfogadva7ms3400 KiB
subtask30/10
8Időlimit túllépés3.046s24204 KiB
9Időlimit túllépés3.046s32152 KiB
10Időlimit túllépés3.101s51824 KiB
11Időlimit túllépés3.073s91460 KiB
12Időlimit túllépés3.072s209856 KiB
subtask40/20
13Futási hiba326ms522772 KiB
14Futási hiba296ms522536 KiB
15Futási hiba282ms522292 KiB
16Futási hiba244ms522264 KiB
17Futási hiba236ms522004 KiB
18Futási hiba246ms521960 KiB
subtask50/29
19Futási hiba305ms521916 KiB
20Futási hiba224ms521860 KiB
21Futási hiba256ms521852 KiB
22Futási hiba245ms521892 KiB
23Futási hiba194ms521908 KiB
subtask60/31
24Futási hiba363ms521696 KiB
25Futási hiba363ms521700 KiB
26Futási hiba324ms521696 KiB
27Futási hiba326ms521700 KiB
28Futási hiba284ms521676 KiB
29Futási hiba308ms521616 KiB
30Futási hiba289ms521572 KiB
31Futási hiba204ms521620 KiB
32Futási hiba248ms521620 KiB
33Futási hiba194ms521624 KiB
34Futási hiba186ms521616 KiB
35Futási hiba223ms521576 KiB
36Futási hiba221ms521620 KiB
37Futási hiba232ms521568 KiB
38Futási hiba237ms521624 KiB
39Futási hiba231ms521564 KiB
40Futási hiba189ms521552 KiB