#include<bits/stdc++.h>
using namespace std;
int largestHistogram(int arr[] , int n){
stack<int> s;
int max_area=0;
int area=0;
int i=0;
while(i<n){
if(s.empty() || arr[s.top()]<=arr[i]){
//pushing the index
s.push(i);
i++;
}
else{
//comuting the area
int curr_max =s.top();
s.pop();
int area = arr[curr_max] * (s.empty()?i:(i-s.top()-1) );
if(area>max_area)
max_area=area;
}
}
while(!s.empty()){
int curr_max =s.top();
s.pop();
int area = arr[curr_max] * (s.empty()?i:(i-s.top()-1) );
if(area>max_area)
max_area=area;
}
return max_area;
}
int main() {
int n =0;
cin>>n;
int arr[n];
for(int i =0;i<n;i++)
cin>>arr[i];
cout<<largestHistogram(arr , n);
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IGxhcmdlc3RIaXN0b2dyYW0oaW50IGFycltdICwgaW50IG4pewoKCXN0YWNrPGludD4gczsKCWludCBtYXhfYXJlYT0wOwoJaW50IGFyZWE9MDsKCWludCBpPTA7IAoJd2hpbGUoaTxuKXsKCgkJaWYocy5lbXB0eSgpIHx8IGFycltzLnRvcCgpXTw9YXJyW2ldKXsKCQkJLy9wdXNoaW5nIHRoZSBpbmRleAoJCQlzLnB1c2goaSk7CgkJCWkrKzsKCQl9CgkJZWxzZXsKCgkJCS8vY29tdXRpbmcgdGhlIGFyZWEKCQkJCgoJCQlpbnQgY3Vycl9tYXggPXMudG9wKCk7CiAgICAgICAgICAgICAgICBzLnBvcCgpOwogICAgICAgICAgICAgICAgaW50IGFyZWEgPSBhcnJbY3Vycl9tYXhdICogKHMuZW1wdHkoKT9pOihpLXMudG9wKCktMSkgKTsKICAgICAgICAgICAgICAgIGlmKGFyZWE+bWF4X2FyZWEpCiAgICAgICAgICAgICAgICAgICAgbWF4X2FyZWE9YXJlYTsJCgkJfQoJfQoKCXdoaWxlKCFzLmVtcHR5KCkpewoJCWludCBjdXJyX21heCA9cy50b3AoKTsKICAgICAgICAgICAgICAgIHMucG9wKCk7CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIGludCBhcmVhID0gYXJyW2N1cnJfbWF4XSAqIChzLmVtcHR5KCk/aTooaS1zLnRvcCgpLTEpICk7CiAgICAgICAgICAgICAgICBpZihhcmVhPm1heF9hcmVhKQogICAgICAgICAgICAgICAgICAgIG1heF9hcmVhPWFyZWE7Cgl9CgoJcmV0dXJuIG1heF9hcmVhOwp9CgppbnQgbWFpbigpIHsKCglpbnQgbiA9MDsKCWNpbj4+bjsKCWludCBhcnJbbl07Cglmb3IoaW50IGkgPTA7aTxuO2krKykKCQljaW4+PmFycltpXTsKCgljb3V0PDxsYXJnZXN0SGlzdG9ncmFtKGFyciAsIG4pOwkKCXJldHVybiAwOwp9