N = int(input())
road = list(map(int,input().split()))
tmp = 0 # 오르막길 경사 누적값 담을 임시 변수
maxV = 0 # 갱신할 최대값 변수
for i in range(1,N): # 앞 뒤 비교, 1부터 시작
slope = road[i] - road[i-1] # 경사 차이
if slope >= 1: # 차이가 1 이상이면
tmp += slope # 경사 차이를 누적 시켜준다.
else: # 내리막길을 만나게되면
tmp = 0 # 누적된 경사 차이를 0으로 초기화
if maxV < tmp: # 최대값 갱신
maxV = tmp
print(maxV)