import sys
def read_input():
n, k = map(int, sys.stdin.readline().strip().split()) # Read the first line as an integer
data = list(map(int, input().split())) # Read next n line
return n,k,data
def compute(n, k, data):
number = 0
for i in range(n-1):
if data[i] > data[i+1]: # nex est mniejsze
roznica = data[i] - data[i+1]
# print(f'roznica {roznica}')
if roznica > k: # roznica wieksza od k
dosyp = data[i] - data[i+1] - k # ile dospac do nastepnego
# print(f'dosp {dosyp}')
number += dosyp
data[i+1] = data[i] - k
# print (data[i])
return number
def compute_left(n, k, data):
number = 0
for i in range(len(data)-1, 0, -1):
if data[i] > data[i-1]: # lew jest mniejsze
roznica = data[i] - data[i-1]
# print(f'roznica {roznica}')
if roznica > k: # roznica wieksza od k
dosyp = data[i] - data[i-1] - k # ile dospac do nastepnego
# print(f'dosp {dosyp}')
number += dosyp
data[i-1] = data[i] - k
# print (data[i])
return number
n,k,data = read_input()
#print(data)
a = compute(n, k, data)
b = compute_left(n, k, data)
#print (data)
print (a+b)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | import sys def read_input(): n, k = map(int, sys.stdin.readline().strip().split()) # Read the first line as an integer data = list(map(int, input().split())) # Read next n line return n,k,data def compute(n, k, data): number = 0 for i in range(n-1): if data[i] > data[i+1]: # nex est mniejsze roznica = data[i] - data[i+1] # print(f'roznica {roznica}') if roznica > k: # roznica wieksza od k dosyp = data[i] - data[i+1] - k # ile dospac do nastepnego # print(f'dosp {dosyp}') number += dosyp data[i+1] = data[i] - k # print (data[i]) return number def compute_left(n, k, data): number = 0 for i in range(len(data)-1, 0, -1): if data[i] > data[i-1]: # lew jest mniejsze roznica = data[i] - data[i-1] # print(f'roznica {roznica}') if roznica > k: # roznica wieksza od k dosyp = data[i] - data[i-1] - k # ile dospac do nastepnego # print(f'dosp {dosyp}') number += dosyp data[i-1] = data[i] - k # print (data[i]) return number n,k,data = read_input() #print(data) a = compute(n, k, data) b = compute_left(n, k, data) #print (data) print (a+b) |
English