#include <bits/stdc++.h>
using namespace std;
int main() {
// your code goes here
int x; cin >> x;
vector<long long> v;
int increasing = 1;
long long prev = 0;
long long peak = 0;
long long lowestl = 0;
long long hi = 0;
while(x--) {
long long y; cin>> y;
v.push_back(y);
}
prev = v[0];
lowestl = v[0];
for(int i = 1; i < v.size(); i++) {
//cout << lowestl << " " << v[i] << endl;
if(increasing) {
if(v[i] >= prev) {
peak = v[i];
} else {
increasing = 0;
hi = max(hi, (long long) min(peak-lowestl, peak-v[i]));
}
} else {
if(v[i] < prev) {
// long long mi = min(peak-lowestl)
hi = max(hi, (long long) min(peak-lowestl, peak-v[i]));
} else {
increasing = 1;
peak = v[i];
lowestl = prev;
}
}
prev = v[i];
}
cout << hi << endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCQoJaW50IHg7IGNpbiA+PiB4OwoJdmVjdG9yPGxvbmcgbG9uZz4gdjsKCWludCBpbmNyZWFzaW5nID0gMTsKCWxvbmcgbG9uZyBwcmV2ID0gMDsKCWxvbmcgbG9uZyBwZWFrID0gMDsKCWxvbmcgbG9uZyBsb3dlc3RsID0gMDsKCWxvbmcgbG9uZyBoaSA9IDA7Cgl3aGlsZSh4LS0pIHsKCQlsb25nIGxvbmcgeTsgY2luPj4geTsKCQl2LnB1c2hfYmFjayh5KTsKCX0KCXByZXYgPSB2WzBdOwoJbG93ZXN0bCA9IHZbMF07CgoJZm9yKGludCBpID0gMTsgaSA8IHYuc2l6ZSgpOyBpKyspIHsKCQkvL2NvdXQgPDwgbG93ZXN0bCA8PCAiICIgPDwgdltpXSA8PCBlbmRsOwoJCWlmKGluY3JlYXNpbmcpIHsKCQkJaWYodltpXSA+PSBwcmV2KSB7CgkJCQlwZWFrID0gdltpXTsKCQkJfSBlbHNlIHsKCQkJCWluY3JlYXNpbmcgPSAwOwoJCQkJaGkgPSBtYXgoaGksIChsb25nIGxvbmcpIG1pbihwZWFrLWxvd2VzdGwsIHBlYWstdltpXSkpOwoJCQl9CgkJfSBlbHNlIHsKCQkJaWYodltpXSA8IHByZXYpIHsKCQkJCS8vIGxvbmcgbG9uZyBtaSA9IG1pbihwZWFrLWxvd2VzdGwpCgkJCQloaSA9IG1heChoaSwgKGxvbmcgbG9uZykgbWluKHBlYWstbG93ZXN0bCwgcGVhay12W2ldKSk7CgkJCX0gZWxzZSB7CgkJCQlpbmNyZWFzaW5nID0gMTsKCQkJCXBlYWsgPSB2W2ldOwoJCQkJbG93ZXN0bCA9IHByZXY7CgkJCX0KCQl9CgkJcHJldiA9IHZbaV07CgkJCgl9Cgljb3V0IDw8IGhpIDw8IGVuZGw7CgkKCXJldHVybiAwOwp9