2766 2023. 01. 23 09:20:17 Catt Csoportokba osztás cpp17 Hibás válasz 0/100 150ms 6276 KiB
#include <bits/stdc++.h>
using namespace std;
#define InTheNameOfGod ios::sync_with_stdio(0);cin.tie(0); cout.tie(0);
using ll = long long;

const int maxN = 2e5 + 5;
const int INF = 1e9 + 7;

int main() {
    int t = 1;
    //cin >> t;
    while(t--)
    {
        int n, k;
        cin >> n >> k;

        vector<int> prefSum(n+1, 0);

        vector<int> v(n);
        for(int i = 0; i < n; i++) {
            cin >> v[i];
            prefSum[i+1] = prefSum[i] + v[i];
        }
        
        set<int> leaders;
        leaders.insert(n-1);
        
        for(int j = 0; j < k-1; j++) {
            int last = 0;
            int maxi = -INF, ind = -1;
            auto it = leaders.begin();
            //cout << j << ": \n";
            for(int i = 0; i < n-1; i++) {
                //cout << i << ": " << last << ", " << (*it) << endl;
                if(leaders.find(i) != leaders.end()) {
                    last = i+1;
                    it++;
                    continue;
                }

                if((prefSum[i+1] - prefSum[last]) * (abs(v[i]) - v[(*it)]) > maxi) {
                    maxi = (prefSum[i+1] - prefSum[last]) * (abs(v[i]) - v[(*it)]);
                    ind = i;
                }
                /*cout << "val: " << (prefSum[i+1] - prefSum[last]) * (abs(v[i]) - v[(*it)]) << endl;
                cout << "maxi: " << maxi << ", " << ind << endl;*/
            }

            //cout << "-------\n";
            leaders.insert(ind);
        }
        
        int mo = 0, last = 0;
        for(int sz : leaders) {
            mo += (prefSum[sz+1] - prefSum[last]) * abs(v[sz]);
            last = sz + 1;
        }
        cout << mo;
    }
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 1816 KiB
2 Elfogadva 2ms 2056 KiB
subtask2 0/5
3 Hibás válasz 35ms 3652 KiB
4 Hibás válasz 35ms 3720 KiB
5 Hibás válasz 37ms 3848 KiB
subtask3 0/22
6 Hibás válasz 4ms 2712 KiB
7 Hibás válasz 4ms 2920 KiB
8 Hibás válasz 4ms 3264 KiB
9 Hibás válasz 4ms 3132 KiB
10 Hibás válasz 4ms 3204 KiB
11 Hibás válasz 4ms 3372 KiB
subtask4 0/34
12 Hibás válasz 2ms 3528 KiB
13 Hibás válasz 2ms 3672 KiB
14 Hibás válasz 2ms 3784 KiB
15 Hibás válasz 144ms 5268 KiB
16 Hibás válasz 143ms 5432 KiB
17 Hibás válasz 143ms 5592 KiB
18 Hibás válasz 2ms 4336 KiB
19 Hibás válasz 2ms 4444 KiB
20 Hibás válasz 3ms 4456 KiB
21 Hibás válasz 144ms 5788 KiB
22 Hibás válasz 145ms 5788 KiB
23 Hibás válasz 143ms 5872 KiB
subtask5 0/29
24 Hibás válasz 145ms 5784 KiB
25 Hibás válasz 143ms 5788 KiB
26 Hibás válasz 143ms 5868 KiB
27 Hibás válasz 144ms 5788 KiB
28 Hibás válasz 142ms 5864 KiB
29 Hibás válasz 143ms 5952 KiB
30 Hibás válasz 144ms 5952 KiB
31 Hibás válasz 142ms 5952 KiB
32 Hibás válasz 143ms 5948 KiB
subtask6 0/10
33 Hibás válasz 143ms 6084 KiB
34 Hibás válasz 150ms 6156 KiB
35 Hibás válasz 145ms 6068 KiB
36 Hibás válasz 145ms 6276 KiB
37 Hibás válasz 145ms 6268 KiB
38 Hibás válasz 146ms 6276 KiB