40002023-03-08 07:34:071478Sípálya (55 pont)cpp17Wrong answer 5/55115ms21272 KiB
#include <bits/stdc++.h>

using namespace std;

int main()
{
    //ifstream cin("in.txt");
    int n;
    cin >> n;
    int k;
    cin >> k;
    vector<int> heights(n + 2);
    vector<int> ps(n + 1);
    for(int i = 1; i <= n; i++){
        cin >> heights[i];
        ps[i] = ps[i - 1] + heights[i];
    }

    multiset<int> s;
    for(int i = 1; i <= k; i++){
        s.insert(heights[i] + i);
    }

    int ans = INT_MAX;
    for(int i = k; i <= n; i++){
        int actualsum = ps[i] - ps[i - k];
        int neededsum = (*s.rbegin() * 2  - i * 2 + k - 1)*k/2 ;
        //cout << ans << " " << s.size() << '\n';
        ans = min(ans, neededsum - actualsum);
        s.erase(s.lower_bound(heights[i - k] + i - k));
        s.insert(heights[i + 1] + i + 1);
    }
    cout << ans;



    return 0;
}
SubtaskSumTestVerdictTimeMemory
base5/55
1Accepted0/03ms1996 KiB
2Wrong answer0/03ms2044 KiB
3Runtime error0/23ms2500 KiB
4Runtime error0/23ms2684 KiB
5Wrong answer0/23ms2572 KiB
6Wrong answer0/23ms2860 KiB
7Wrong answer0/33ms3040 KiB
8Accepted1/18ms3460 KiB
9Accepted1/18ms3552 KiB
10Accepted1/18ms3572 KiB
11Runtime error0/16ms3944 KiB
12Runtime error0/16ms3828 KiB
13Runtime error0/18ms3996 KiB
14Accepted2/28ms4248 KiB
15Runtime error0/26ms4288 KiB
16Runtime error0/283ms8112 KiB
17Wrong answer0/2111ms16620 KiB
18Wrong answer0/2112ms17636 KiB
19Wrong answer0/3111ms21272 KiB
20Wrong answer0/2114ms8792 KiB
21Runtime error0/2108ms9060 KiB
22Runtime error0/2109ms9032 KiB
23Runtime error0/293ms8380 KiB
24Runtime error0/293ms8780 KiB
25Wrong answer0/2115ms9188 KiB
26Wrong answer0/2114ms9712 KiB
27Wrong answer0/2112ms10132 KiB
28Wrong answer0/3112ms10096 KiB
29Wrong answer0/3112ms10620 KiB
30Wrong answer0/3114ms11136 KiB