#include <bits/stdc++.h>
using namespace std;
int main() {
    int N;
    cin >> N;
    vector<long long> h(N+1, 0);
    for (int i=0; i<N; ++i) cin >> h[i];
	long long mx = 0;
    stack<int> S, T;
    for (int i=0; i<=N; ++i) {
        while (!S.empty() && h[S.top()]>=h[i]) {
            mx = max(mx, h[S.top()]*(i-T.top()-1));
            S.pop(); T.pop();
        }
		T.push(S.empty() ? -1 : S.top());
		S.push(i); 
    }
    cout << mx << endl;
}
