#处理入参
length=int(input())
nums=list(map(int,input().split()))


def func(length,nums):
	#最大利润等于当前数值减去最小买入值
	#dp数组代表每个位置的最大利润,min_price代表遍历过程中的最小值
    dp,min_price=[0]*length,nums[0]
    for i in range(1,length):
        dp[i]=max(dp[i-1],nums[i]-min_price)
        min_price=min(nums[i],min_price)
    return max(dp)
print(func(length,nums))