29672023-02-06 11:55:561478Csoportokba osztáscpp17Időlimit túllépés 22/1002.599s6364 KiB
#include <bits/stdc++.h>

using namespace std;

long long dp[101][100001];

int main()
{

    //ifstream cin("in.txt");

    int n;
    cin >> n;
    int l;
    cin >> l;

    vector<long long> a(n+1);
    for(int i = 1; i <= n; i++){
        cin >> a[i];
    }

    vector<long long> pS(n+1);
    for(int i = 1; i <= n; i++){
        pS[i] = pS[i-1] + a[i];
        //cout << pS[i] << " ";
    }
    //cout << '\n';

    /*for(int i = 1; i <= n; i++){
        dp[1][i] = pS[i] * a[i];
    }*/

    for(int i = 1; i <= l; i++){
        //cout << i <<": ";
        for(int j = i; j <= n; j++){
            long long maxi = 0;
            for(int k = i-1; k <= j-1; k++){
                //cout << dp[i-1][k] + (pS[j] - pS[k]) * abs(a[j]) << " ";
                maxi = max(dp[i-1][k] + (pS[j] - pS[k]) * abs(a[j]), maxi);
            }
            dp[i][j] = maxi;

            //cout << '\n';
        }
        //cout << '\n';
    }


    cout << dp[l][n];



    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1828 KiB
2Elfogadva3ms2024 KiB
subtask20/5
3Időlimit túllépés2.599s3552 KiB
4Időlimit túllépés2.575s3848 KiB
5Időlimit túllépés2.578s3928 KiB
subtask322/22
6Elfogadva65ms5052 KiB
7Elfogadva65ms5392 KiB
8Elfogadva65ms5336 KiB
9Elfogadva65ms5660 KiB
10Elfogadva65ms5992 KiB
11Elfogadva65ms6080 KiB
subtask40/34
12Elfogadva3ms4216 KiB
13Elfogadva3ms4340 KiB
14Elfogadva3ms4432 KiB
15Időlimit túllépés2.599s5132 KiB
16Időlimit túllépés2.565s5132 KiB
17Időlimit túllépés2.548s5356 KiB
18Elfogadva4ms5168 KiB
19Elfogadva4ms5344 KiB
20Elfogadva4ms5472 KiB
21Időlimit túllépés2.599s5876 KiB
22Időlimit túllépés2.568s5828 KiB
23Időlimit túllépés2.586s5848 KiB
subtask50/29
24Időlimit túllépés2.575s5756 KiB
25Időlimit túllépés2.581s5988 KiB
26Időlimit túllépés2.545s5756 KiB
27Időlimit túllépés2.569s5824 KiB
28Időlimit túllépés2.563s5944 KiB
29Időlimit túllépés2.549s6124 KiB
30Időlimit túllépés2.536s6000 KiB
31Időlimit túllépés2.563s6208 KiB
32Időlimit túllépés2.572s6188 KiB
subtask60/10
33Időlimit túllépés2.568s6176 KiB
34Időlimit túllépés2.562s6176 KiB
35Időlimit túllépés2.568s6228 KiB
36Időlimit túllépés2.572s6236 KiB
37Időlimit túllépés2.575s6340 KiB
38Időlimit túllépés2.568s6364 KiB