n,k=input().split()
n,k=int(n),int(k)
list=input().split()
for i in range(n):
list[i]=int(list[i])
list=[0]+list+[0]
i=1
used=0
streak=0
while True:
if list[i+1]>=list[i]-k and list[i+1]>=list[i+2]-k:
streak+=1
else:
add=max(list[i],list[i+2])-k-list[i+1]
used+=add
list[i+1]+=add
streak=1
i+=1
i=i%n
if streak==n:
break
print(used)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | n,k=input().split() n,k=int(n),int(k) list=input().split() for i in range(n): list[i]=int(list[i]) list=[0]+list+[0] i=1 used=0 streak=0 while True: if list[i+1]>=list[i]-k and list[i+1]>=list[i+2]-k: streak+=1 else: add=max(list[i],list[i+2])-k-list[i+1] used+=add list[i+1]+=add streak=1 i+=1 i=i%n if streak==n: break print(used) |
English