232112026-01-16 17:24:32horkaSípálya (55 pont)cpp17Elfogadva 55/5529ms5184 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
int f(int x)
{
    return (x+1)*x/2;
}
int p(int l, int r)
{
    return f(r)-f(l-1);
}
signed main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    int n; cin>>n;
    int k; cin>>k;
    vector<int> v(n+1),pref(n+1),e(n+1);
    for(int i=1; i<=n; i++)
    {
        cin>>v[i];
        pref[i]=pref[i-1]+v[i];
    }
    for(int i=1; i<=n; i++)
        e[i]=v[i]+i;
    deque<int> q;
    int ans=1e18;
    for(int i=n; i>0; i--)
    {
        while(!q.empty() && q.front()<e[i]) q.pop_front();
        q.push_front(e[i]);
        if(i>n-k+1) continue;
        if(i<=n-k)
        {
            if(q.back()==e[i+k]) q.pop_back();
        }
        int mx=q.back();
        int mag=q.back()-i;
      //  cout<<i<<" "<<mx<<" "<<mag<<endl;
        ans=min(ans,p(mag-k+1,mag)-(pref[i+k-1]-pref[i-1]));
    }
    cout<<ans;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base55/55
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms500 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva1/12ms564 KiB
9Elfogadva1/12ms564 KiB
10Elfogadva1/12ms644 KiB
11Elfogadva1/12ms652 KiB
12Elfogadva1/12ms564 KiB
13Elfogadva1/12ms564 KiB
14Elfogadva2/22ms564 KiB
15Elfogadva2/22ms564 KiB
16Elfogadva2/228ms5136 KiB
17Elfogadva2/228ms5172 KiB
18Elfogadva2/228ms5136 KiB
19Elfogadva3/328ms5132 KiB
20Elfogadva2/228ms5140 KiB
21Elfogadva2/228ms5172 KiB
22Elfogadva2/228ms5172 KiB
23Elfogadva2/228ms5144 KiB
24Elfogadva2/229ms5144 KiB
25Elfogadva2/228ms5140 KiB
26Elfogadva2/228ms5136 KiB
27Elfogadva2/228ms5136 KiB
28Elfogadva3/328ms5168 KiB
29Elfogadva3/328ms5184 KiB
30Elfogadva3/328ms5144 KiB