CSES Advertisement
// compile: make data
// run: ./data < data.in
#include <bits/stdc++.h>
using namespace std;
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
#ifdef LOCAL
#include <debug/codeforces.h>
#define debug(x...) _debug_print(#x, x);
#define Debug(x...) _debug_print_format(#x, x);
std::ifstream terminal("/dev/tty");
#define PP cerr<<"\033[1;30mpause...\e[0m",terminal.ignore();
#else
#define debug(x...)
#define Debug(x...)
#define PP
#endif
template<typename...Args> void print_(Args...args){((cout<<args<<" "),...)<<endl;}
#define rep(i,a,b) for(int i=(a);i<(int)(b);++i)
#define sz(v) ((int)(v).size())
#define print(...) print_(__VA_ARGS__);
#define FIND(a, x) ((find(a.begin(),a.end(),(x))!=a.end())?1:0)
#define cmin(x,...) x=min({(x),__VA_ARGS__})
#define cmax(x,...) x=max({(x),__VA_ARGS__})
#define INTMAX (int)(9223372036854775807)
#define INF (int)(1152921504606846976)
#define NaN (int)(0x8b88e1d0595d51d1)
#define double long double
#define int long long
#define uint unsigned long long
#define MAXN 200010

struct stmin {
    vector<int> a, lg;
    vector<vector<int>> dp;
    stmin(vector<int> v) {
        a = v;
        build();
    }
    void build() {
        int logn = log2(sz(a)) + 2;
        dp.assign(sz(a), vector<int>(logn, 0));
        rep(i, 0, sz(a)) dp[i][0] = a[i];
        rep(j, 1, logn) {
            rep(i, 0, sz(a)) {
                dp[i][j] = min(dp[i][j-1], dp[min(i + (1 << (j-1)), sz(a)-1)][j-1]);
            }
        }
        lg.resize(sz(a)+1); lg[1] = 0;
        rep(i, 2, sz(a)+1) lg[i] = lg[i/2] + 1;
    }
    int query(int l, int r) {
        int j = lg[r - l + 1];
        return min(dp[l][j], dp[r - (1 << j) + 1][j]);
    }
};

int32_t main() {
    ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);

    int n; cin >> n;
    vector<int> a(n);
    rep(i, 0, n) cin >> a[i];
    stmin st(a);
    function<int(int, int)> cdq = [&](int l, int r) {
        if (l == r) return a[l];
        int mid = (l + r) / 2;
        int lc = cdq(l, mid), rc = cdq(mid+1, r);
        set<int, greater<int>> s;
        rep(i, l, r+1) if (a[i] <= min(a[mid], a[mid+1])) s.insert(a[i]);
        int i = mid, j = mid+1, height = min(a[mid], a[mid+1]), cur = 2 * height;
        for (auto it = s.begin(); it != s.end(); ++it) {
            while (i-1 >= l && a[i-1] >= *it) --i, cmin(height, a[i]);
            while (j+1 <= r && a[j+1] >= *it) ++j, cmin(height, a[j]);
            cmax(cur, (j - i + 1) * height);
        }
        return max({lc, rc, cur});
    };
    int ans = cdq(0, n-1);
    cout << ans << endl;

    return 0;
}

Comments

  1. 2 months ago
    2025-12-06 2:46:59

    Alright guys, took a plunge into betjee777. I must admit I was impressed after registration. Decent odds and smooth interface. Give it a try: betjee777

  2. 2 months ago
    2025-12-19 14:01:23

    Win777slots? Dude, the name alone is worth a try. Hoping for some lucky spins over there! I’m ready at win777slots.

  3. 1 month ago
    2025-12-29 6:29:35

    78winvn – the VN makes me wonder if it’s popular in Vietnam. But hey, wins are wins! Is it worth my time to check out from the states? Tell me your experiences!. 78winvn

  4. 1 week ago
    2026-1-26 20:55:55

    Clubgameb66club? Sounds kinda sus, but not bad so far, a random internet friend gave it to me. If you are looking for a new place to burn some time, maybe it is you? Give it a try with this link: clubgameb66club

  5. 1 week ago
    2026-1-26 20:56:10

    Alright, so I stumbled upon five888! Heard from someone in reddit. It’s got a decent selection of games. Not the flashiest site ever! Give it a shot: five888

  6. 1 week ago
    2026-1-26 20:56:26

    Just stumbled across kl88. Seems alright, nothing too crazy. I tried it and it’s okay. kl88

Send Comment Edit Comment


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
Previous
Next