29682023-02-06 11:59:311478Csoportokba osztáscpp17Időlimit túllépés 22/1002.599s6440 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-l+i; 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
2Elfogadva3ms2040 KiB
subtask20/5
3Időlimit túllépés2.599s3576 KiB
4Időlimit túllépés2.549s3696 KiB
5Időlimit túllépés2.556s3840 KiB
subtask322/22
6Elfogadva59ms4920 KiB
7Elfogadva59ms5156 KiB
8Elfogadva59ms5372 KiB
9Elfogadva59ms5612 KiB
10Elfogadva59ms5792 KiB
11Elfogadva59ms5892 KiB
subtask40/34
12Elfogadva3ms4028 KiB
13Elfogadva3ms4184 KiB
14Elfogadva3ms4540 KiB
15Időlimit túllépés2.599s5564 KiB
16Időlimit túllépés2.588s5580 KiB
17Időlimit túllépés2.559s5580 KiB
18Elfogadva4ms5616 KiB
19Elfogadva4ms5732 KiB
20Elfogadva4ms5640 KiB
21Időlimit túllépés2.599s5948 KiB
22Időlimit túllépés2.575s5900 KiB
23Időlimit túllépés2.584s5896 KiB
subtask50/29
24Időlimit túllépés2.578s5900 KiB
25Időlimit túllépés2.561s5900 KiB
26Időlimit túllépés2.532s6112 KiB
27Időlimit túllépés2.559s6236 KiB
28Időlimit túllépés2.552s6388 KiB
29Időlimit túllépés2.53s6112 KiB
30Időlimit túllépés2.543s6288 KiB
31Időlimit túllépés2.561s6348 KiB
32Időlimit túllépés2.563s6344 KiB
subtask60/10
33Időlimit túllépés2.546s6440 KiB
34Időlimit túllépés2.575s6320 KiB
35Időlimit túllépés2.563s6340 KiB
36Időlimit túllépés2.543s6396 KiB
37Időlimit túllépés2.586s6436 KiB
38Időlimit túllépés2.569s6260 KiB