#include <vector>
#include <stack>

/*
 * @title ヒストグラム中の最大長方形
 * @docs docs/utility/histogram-largest-rectangle.md
 */

template<typename T> long long histogram_largest_rectangle(std::vector<T> h) {
    h.emplace_back(0);
    std::vector<int> left(h.size());
    std::stack<int> stk;
    T ret = 0;
    for (int i = 0; i < h.size(); i++) {
        while (!stk.empty() && h[stk.top()] >= h[i]) {
            ret = std::max(ret, (i - left[stk.top()] - 1) * h[stk.top()]);
            stk.pop();
        }
        left[i] = stk.empty() ? -1 : stk.top();
        stk.emplace(i);
    }
    return ret;
}

#include <bits/stdc++.h>
using namespace std;

int main() {
    int N;
    cin >> N;
    vector<long long> h(N);
    for (int i = 0; i < N; i++) { cin >> h[i]; }
    cout << histogram_largest_rectangle(h) << endl;
}
