194712025-12-10 10:09:21birozsSípálya (55 pont)pypy3Időlimit túllépés 21/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] <= T[i] and T[i+K-1] < m:
        fold -= m + K - 1 - T[i-1]
        m = m - 1
        fold += 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
base21/55
1Elfogadva0/043ms19672 KiB
2Elfogadva0/043ms19628 KiB
3Elfogadva2/252ms21688 KiB
4Elfogadva2/256ms21704 KiB
5Elfogadva2/261ms21808 KiB
6Elfogadva2/264ms21832 KiB
7Elfogadva3/352ms21588 KiB
8Elfogadva1/175ms22560 KiB
9Elfogadva1/183ms22452 KiB
10Elfogadva1/190ms22492 KiB
11Elfogadva1/1115ms22316 KiB
12Elfogadva1/1118ms22244 KiB
13Elfogadva1/1210ms22400 KiB
14Elfogadva2/2239ms22408 KiB
15Elfogadva2/2114ms22356 KiB
16Időlimit túllépés0/2503ms46616 KiB
17Időlimit túllépés0/2493ms46700 KiB
18Időlimit túllépés0/2490ms46704 KiB
19Időlimit túllépés0/3490ms46676 KiB
20Időlimit túllépés0/2493ms46672 KiB
21Időlimit túllépés0/2488ms46712 KiB
22Időlimit túllépés0/2472ms46680 KiB
23Időlimit túllépés0/2504ms46680 KiB
24Időlimit túllépés0/2486ms47956 KiB
25Időlimit túllépés0/2486ms46756 KiB
26Időlimit túllépés0/2488ms46672 KiB
27Időlimit túllépés0/2483ms46736 KiB
28Időlimit túllépés0/3486ms46716 KiB
29Időlimit túllépés0/3488ms46688 KiB
30Időlimit túllépés0/3486ms46676 KiB