226802026-01-15 15:29:21szabelrSípálya (55 pont)cpp17Elfogadva 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base55/55
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva3/31ms436 KiB
8Elfogadva1/12ms316 KiB
9Elfogadva1/12ms316 KiB
10Elfogadva1/12ms500 KiB
11Elfogadva1/12ms316 KiB
12Elfogadva1/13ms548 KiB
13Elfogadva1/13ms688 KiB
14Elfogadva2/23ms316 KiB
15Elfogadva2/22ms316 KiB
16Elfogadva2/226ms2000 KiB
17Elfogadva2/225ms1844 KiB
18Elfogadva2/225ms2004 KiB
19Elfogadva3/325ms2004 KiB
20Elfogadva2/226ms1844 KiB
21Elfogadva2/225ms2000 KiB
22Elfogadva2/226ms2000 KiB
23Elfogadva2/225ms2004 KiB
24Elfogadva2/227ms2096 KiB
25Elfogadva2/226ms2000 KiB
26Elfogadva2/226ms2004 KiB
27Elfogadva2/225ms2004 KiB
28Elfogadva3/326ms2004 KiB
29Elfogadva3/325ms1844 KiB
30Elfogadva3/326ms2016 KiB