#include <iostream>
#include <vector>

using ll = long long;

int main() {
    int N;
    std::cin >> N;

    std::vector<ll> h(N);
    for (auto& e : h) std::cin >> e;
    h.push_back(0);

    ll ans = 0;
    std::vector<std::pair<ll, int>> stack;
    for (int i = 0; i <= N; ++i) {
        int pos = i;
        while (!stack.empty() && stack.back().first > h[i]) {
            auto p = stack.back();
            stack.pop_back();
            ans = std::max(ans, p.first * (i - p.second));
            pos = p.second;
        }
        if (stack.empty() || stack.back().first < h[i]) {
            stack.emplace_back(h[i], pos);
        }
    }

    std::cout << ans << std::endl;
    return 0;
}

