Phạm Trần Minh Hiếu
@2280600972
Bài code để tham khảo
include <stdio.h>
int main() {
int n;
if (scanf("%d", &n) != 1) return 0;
long long a[1005];
for (int i = 0; i < n; i++) {
scanf("%lld", &a[i]);
}
long long ht[1005], hp[1005];
long long mt[1005], mp[1005];
for (int i = 1; i < n; i++) {
ht[i] = a[i] - a[i - 1];
}
mt[1] = ht[1];
for (int i = 2; i < n; i++) {
mt[i] = (ht[i] > mt[i - 1]) ? ht[i] : mt[i - 1];
}
mp[n - 1] = ht[n - 1];
for (int i = n - 2; i >= 1; i--) {
mp[i] = (ht[i] > mp[i + 1]) ? ht[i] : mp[i + 1];
}
long long max = 0;
long long xd = mp[2];
if (xd > max) max = xd;
long long xc = mt[n - 2];
if (xc > max) max = xc;
for (int i = 1; i < n - 1; i++) {
long long hm = a[i + 1] - a[i - 1];
long long mht = hm;
if (i - 1 >= 1 && mt[i - 1] > mht) {
mht = mt[i - 1];
}
if (i + 2 < n && mp[i + 2] > mht) {
mht = mp[i + 2];
}
if (mht > max) {
max = mht;
}
}
printf("%lld\n", max);
return 0;
}
Trả lời
0 Phản hồi
Bạn cần đăng nhập để tham gia thảo luận
Đăng nhập ngay