Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- #define FORn(i, n) for(int i=1; i<=(n); i++)
- #define FORRn(i, n) for(int i=(n); i>=1; i--)
- using namespace std;
- int n, res;
- deque<int> s;
- int main(){
- cin>>n;
- vector<int> h(n+2, 0), l(n+2, 0), r(n+2, 0);
- s.push_back(0);
- FORn(i, n){
- cin>>h[i];
- while(h[i]<=h[s.back()]) s.pop_back();
- l[i]=s.back();
- s.push_back(i);
- }
- s={n+1};
- FORRn(i, n){
- while(h[i]<=h[s.front()]) s.pop_front();
- r[i]=s.front();
- s.push_front(i);
- }
- FORn(i, n){
- if(h[i]<=res) continue;
- if(r[i]-l[i]-1>=h[i]) res=h[i];
- }
- cout<<res;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement