219522026-01-14 11:08:37sklausSípálya (55 pont)cpp17Hibás válasz 15/5575ms1268 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],p,s=0;
    for(int i=0; i<k; i++){
        s+=(t[i]+i);
        if(t[i]+i>=maxi){p=i; maxi=t[i]+i;}}
    long long ar=k*maxi-s;
    for(int i=1; i<n-k+1; i++){
        maxi--;
        if(i==p+1){
            maxi=t[i];
            for(int j=0; j<k; j++){
                if(t[i+j]+j>=maxi){p=i+j; maxi=t[i+j]+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;
}


RészfeladatÖsszpontTesztVerdiktIdőMemória
base15/55
1Elfogadva0/01ms508 KiB
2Elfogadva0/01ms316 KiB
3Hibás válasz0/21ms316 KiB
4Hibás válasz0/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva3/31ms316 KiB
8Hibás válasz0/14ms316 KiB
9Hibás válasz0/14ms316 KiB
10Hibás válasz0/14ms408 KiB
11Elfogadva1/14ms508 KiB
12Hibás válasz0/14ms316 KiB
13Elfogadva1/14ms316 KiB
14Elfogadva2/24ms508 KiB
15Hibás válasz0/24ms316 KiB
16Elfogadva2/270ms1000 KiB
17Hibás válasz0/268ms976 KiB
18Hibás válasz0/268ms1080 KiB
19Hibás válasz0/370ms1020 KiB
20Hibás válasz0/271ms1060 KiB
21Hibás válasz0/270ms1064 KiB
22Hibás válasz0/271ms1044 KiB
23Hibás válasz0/271ms1088 KiB
24Elfogadva2/275ms1020 KiB
25Hibás válasz0/271ms1076 KiB
26Hibás válasz0/271ms1056 KiB
27Hibás válasz0/270ms976 KiB
28Hibás válasz0/370ms1080 KiB
29Hibás válasz0/374ms1136 KiB
30Hibás válasz0/371ms1268 KiB