219532026-01-14 11:11:48sklausSípálya (55 pont)cpp17Accepted 55/5575ms1176 KiB
#include <iostream>
using namespace std;
int main()
{
    int n,k;
    cin>>n>>k;
    int t[n];
    for(int i=0; i<n; i++)
    {
        cin>>t[i];
    }
    long long maxi=t[0]-k,p,s=0;
    for(int i=0; i<k; i++)
    {
        s=s+t[i]-k+i;
        if(t[i]-k+i>=maxi)
        {
            p=i;
            maxi=t[i]-k+i;
        }
    }
    long long ar=k*maxi-s;
    for(int i=1; i<=n-k; i++)
    {
        maxi--;
        if(i==p+1)
        {
            maxi=t[i]-k;
            for(int j=0; j<k; j++)
            {
                if(t[i+j]-k+j>=maxi)
                {
                    p=i+j;
                    maxi=t[i+j]-k+j;
                }
            }
        }
        else if(t[i+k-1]-1>=maxi)
        {
            maxi=t[i+k-1]-1;
            p=i+k-1;
        }
        s=s-t[i-1]+t[i+k-1];
        if(k*maxi-s<ar)ar=k*maxi-s;
    }
    cout<<ar;
    return 0;
}


SubtaskSumTestVerdictTimeMemory
base55/55
1Accepted0/01ms316 KiB
2Accepted0/01ms336 KiB
3Accepted2/22ms316 KiB
4Accepted2/22ms332 KiB
5Accepted2/21ms316 KiB
6Accepted2/22ms536 KiB
7Accepted3/31ms316 KiB
8Accepted1/14ms428 KiB
9Accepted1/14ms316 KiB
10Accepted1/14ms512 KiB
11Accepted1/14ms432 KiB
12Accepted1/14ms412 KiB
13Accepted1/14ms560 KiB
14Accepted2/24ms412 KiB
15Accepted2/24ms432 KiB
16Accepted2/270ms1176 KiB
17Accepted2/270ms1092 KiB
18Accepted2/268ms1140 KiB
19Accepted3/371ms1176 KiB
20Accepted2/270ms976 KiB
21Accepted2/271ms1176 KiB
22Accepted2/271ms1000 KiB
23Accepted2/272ms1136 KiB
24Accepted2/275ms1036 KiB
25Accepted2/271ms1092 KiB
26Accepted2/271ms1056 KiB
27Accepted2/271ms1012 KiB
28Accepted3/370ms1172 KiB
29Accepted3/370ms1072 KiB
30Accepted3/371ms1176 KiB