蘑菇街 最大间隔 贪心
题目描述
给定一个递增序列,a1 <a2 <...<an 。定义这个序列的最大间隔为d=max{ai+1 - ai }(1≤i<n),现在要从a2 ,a3 ..an-1 中删除一个元素。问剩余序列的最大间隔最小是多少?
输入描述:
第一行,一个正整数n(1<=n<=100),序列长度;接下来n个小于1000的正整数,表示一个递增序列。
输出描述:
输出答案。
示例1
输入
51 2 3 7 8
输出
4
#include<iostream>
#include<algorithm>
using namespace std;
const int maxn = 1e2+5;
#define INF 1<<30
#define max(x,y) ((x)>(y)?(x):(y))
#define min(x,y) ((x)<(y)?(x):(y))
int arr[maxn];
int main()
{
int n;
while(cin>>n)
{
int ans=-INF;
cin>>arr[0];
for(int i=1;i<n;++i)
{
cin>>arr[i];
ans=max(ans,(arr[i]-arr[i-1]));
}
cout<<ans<<endl;
}
return 0;
}