226802026-01-15 15:29:21szabelrSípálya (55 pont)cpp17Accepted 55/5527ms2096 KiB
#include <iostream>
#include <vector>
#include <deque>
using namespace std;
int main()
{
    ios_base::sync_with_stdio(false); 
    cin.tie(NULL);
    int n, k;
    cin >> n >> k;
    vector<long long> nums(n);
    for (int i = 0; i < n; i++)
    {
        long long x; cin >> x;
        nums[i] = x + i;
    }
    long long min_cost=1e18;
    deque<long long> q;
    int l = 0, r = 0;
    long long cur_cost=0;
    while (r < n)
    {
        while (!q.empty() and nums[q.back()] < nums[r])
            q.pop_back();
        q.push_back(r);
        cur_cost += nums[r];
        if (l > q.front())
            q.pop_front();
        if (r + 1 >= k)
        {
            
            min_cost = min(min_cost, nums[q.front()] * k - cur_cost);
            cur_cost -= nums[l];
            l++;
        }
        r++;
    }
    cout << min_cost;
}
SubtaskSumTestVerdictTimeMemory
base55/55
1Accepted0/01ms316 KiB
2Accepted0/01ms316 KiB
3Accepted2/21ms316 KiB
4Accepted2/21ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Accepted3/31ms436 KiB
8Accepted1/12ms316 KiB
9Accepted1/12ms316 KiB
10Accepted1/12ms500 KiB
11Accepted1/12ms316 KiB
12Accepted1/13ms548 KiB
13Accepted1/13ms688 KiB
14Accepted2/23ms316 KiB
15Accepted2/22ms316 KiB
16Accepted2/226ms2000 KiB
17Accepted2/225ms1844 KiB
18Accepted2/225ms2004 KiB
19Accepted3/325ms2004 KiB
20Accepted2/226ms1844 KiB
21Accepted2/225ms2000 KiB
22Accepted2/226ms2000 KiB
23Accepted2/225ms2004 KiB
24Accepted2/227ms2096 KiB
25Accepted2/226ms2000 KiB
26Accepted2/226ms2004 KiB
27Accepted2/225ms2004 KiB
28Accepted3/326ms2004 KiB
29Accepted3/325ms1844 KiB
30Accepted3/326ms2016 KiB