128752025-01-02 19:37:43ercseferencSípálya (55 pont)cpp17Accepted 55/5575ms1188 KiB
#include <iostream>
using namespace std;
int main()
{
    int n,k;
    cin>>n>>k; int a[n]; for(int i=0; i<n; i++){cin>>a[i];}
    long long maxi=a[0]-k,p,s=0;
    for(int i=0; i<k; i++){
        s=s+a[i]-k+i;
        if(a[i]-k+i>=maxi){p=i; maxi=a[i]-k+i;}}
    long long ar=k*maxi-s;
    for(int i=1; i<=n-k; i++){
        maxi--;
        if(i==p+1){
            maxi=a[i]-k;
            for(int j=0; j<k; j++){
                if(a[i+j]-k+j>=maxi){p=i+j; maxi=a[i+j]-k+j;}}}
        else if(a[i+k-1]-1>=maxi){maxi=a[i+k-1]-1; p=i+k-1;}
        s=s-a[i-1]+a[i+k-1];
        if(k*maxi-s<ar)ar=k*maxi-s;}
    cout<<ar;
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base55/55
1Accepted0/01ms508 KiB
2Accepted0/01ms320 KiB
3Accepted2/21ms320 KiB
4Accepted2/21ms508 KiB
5Accepted2/21ms320 KiB
6Accepted2/21ms320 KiB
7Accepted3/31ms404 KiB
8Accepted1/14ms320 KiB
9Accepted1/14ms320 KiB
10Accepted1/14ms512 KiB
11Accepted1/14ms552 KiB
12Accepted1/14ms320 KiB
13Accepted1/14ms436 KiB
14Accepted2/24ms424 KiB
15Accepted2/24ms436 KiB
16Accepted2/270ms936 KiB
17Accepted2/268ms976 KiB
18Accepted2/268ms1156 KiB
19Accepted3/370ms1084 KiB
20Accepted2/270ms1080 KiB
21Accepted2/268ms1176 KiB
22Accepted2/270ms984 KiB
23Accepted2/271ms1188 KiB
24Accepted2/275ms1072 KiB
25Accepted2/270ms944 KiB
26Accepted2/270ms1044 KiB
27Accepted2/270ms1140 KiB
28Accepted3/370ms1080 KiB
29Accepted3/368ms980 KiB
30Accepted3/370ms1020 KiB