分为两类: 第一类: 编号之前的最后一个元素 ,  第二类 : 编号之后的最小元素

两者之差就是结果:  

#include<bits/stdc++.h>
using namespace std;
int w[100010];

int main()
{
    int i,j,n;
    while(~scanf("%d",&n))
    {
        int MAX=-0x3f3f3f3f;
        int MIN=0x3f3f3f3f;
        for(i=1;i<=n;i++){
            cin>>w[i];
        }
        for(j=n-1;j>=1;j--){
            MIN=min(MIN,w[j+1]);
            MAX=max(MAX,w[j]-MIN);
        } 
        
        printf("%d\n",MAX);
    }
    return 0;
}