#include
#include
using namespace std;
int main() {
int n;
cin>>n;
int a[n];
for(int j=0;j<n;j++){
cin>>a[j];
}
stackp;
int area;
int maxarea=0;
int t;
int i=0;
while(i<n){
if((p.empty())||(a[i]>=a[p.top()])){
p.push(i);
i=i+1;
}
else{
t=p.top();
p.pop();
if(p.empty()){
area=a[t]*i;
if(area>maxarea){
maxarea=area;
}
}
else{
area=(i-p.top()-1)*a[t];
if(area>maxarea){
maxarea=area;
}
}
}
}
while(!p.empty()){
t=p.top();
p.pop();
if(p.empty()){
area=a[t]*i;
if(area>maxarea){
maxarea=area;
}
}
else{
area=(i-p.top()-1)*a[t];
if(area>maxarea){
maxarea=area;
}
}
}
cout<<maxarea;
return 0;
}