#include #include #include #define MAXN 250000 using namespace std; int n, h[MAXN + 2], maxi = 0; vector v; vector otg; ifstream fin("prominence1d.in"); ofstream fout("prominence1d.out"); void Read() { fin >> n; for (int i=1; i<=n; i++) { fin >> h[i]; if (h[i] > maxi) maxi = h[i]; if (h[i - 1] > h[i - 2] && h[i - 1] > h[i]) v.push_back(i - 1); } if (h[n] > h[n - 1]) v.push_back(n); return ; } int main() { Read(); int nn = v.size(); for (int i=0; i h[v[i]]) { can = h[v[i]] - mini; break; } } mini = maxi + 1; for (int j=v[i]-1; j>=1; j--) { if (h[j] < mini) mini = h[j]; if (h[j] > h[v[i]]) { if (h[v[i]] - mini < can) can = h[v[i]] - mini; break; } } otg.push_back(can); } for (int i=0; i