194792025-12-10 16:08:36birozsSípálya (55 pont)pypy3Időlimit túllépés 43/55504ms47956 KiB
N,K=map(int,input().split())
T = list(map(int,input().split()))
fold = 0
m = T[0]
for i in range(1,K):
    if T[i] > m - 1:
        fold += (T[i] - (m-1)) * i
        m = T[i]
    else:
        fold += m - 1 - T[i]
        m = m - 1
min = N * 10**9
for i in range(1,N-K+1):
    if T[i-1] < m + K - 1: 
        fold -= m + K - 1 - T[i-1]
        if T[i+K-1] < m:
            m = m - 1
            fold += m - T[i+K-1]
        else:
            fold += (K - 1) * (T[i+K-1] - m + 1)
            m = T[i+K-1]
    else:
        fold = 0
        m = T[i]
        for j in range(i,i+K):
            if T[j] > m - 1:
                fold += (T[j] - (m-1)) * (j-i)
                m = T[j]
            else:
                fold += m - 1 - T[j]
                m = m - 1
    if fold < min:
        min = fold
print(min)


    

RészfeladatÖsszpontTesztVerdiktIdőMemória
base43/55
1Elfogadva0/043ms19600 KiB
2Elfogadva0/043ms19676 KiB
3Elfogadva2/245ms21160 KiB
4Elfogadva2/245ms21256 KiB
5Elfogadva2/246ms21412 KiB
6Elfogadva2/248ms21320 KiB
7Elfogadva3/346ms21220 KiB
8Elfogadva1/157ms21756 KiB
9Elfogadva1/159ms21948 KiB
10Elfogadva1/159ms22384 KiB
11Elfogadva1/198ms22348 KiB
12Elfogadva1/192ms22176 KiB
13Elfogadva1/1137ms22408 KiB
14Elfogadva2/2119ms22372 KiB
15Elfogadva2/289ms22136 KiB
16Időlimit túllépés0/2504ms46772 KiB
17Elfogadva2/297ms46696 KiB
18Elfogadva2/2112ms46700 KiB
19Elfogadva3/3112ms47868 KiB
20Elfogadva2/2323ms47868 KiB
21Időlimit túllépés0/2504ms46704 KiB
22Időlimit túllépés0/2495ms46628 KiB
23Időlimit túllépés0/2488ms47872 KiB
24Időlimit túllépés0/2486ms47956 KiB
25Elfogadva2/2365ms47872 KiB
26Időlimit túllépés0/2407ms47872 KiB
27Elfogadva2/2282ms46684 KiB
28Elfogadva3/3226ms46692 KiB
29Elfogadva3/3365ms46688 KiB
30Elfogadva3/3112ms47872 KiB