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. 4 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. 3 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. 3 months 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. 2 months 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. 2 months 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. 2 months ago
    2026-1-26 20:56:26

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

  7. 1 month ago
    2026-2-13 0:46:27

    Trying my luck with hbetvn now. Seems pretty straightforward, fingers crossed I win something big! Definitely worth a look see! hbetvn

  8. 1 month ago
    2026-2-13 0:46:43

    Alright guys, gotta say I’ve been spinning the reels at jili222 and it’s been a blast! The games are pretty slick. Check it out! jili222

  9. 1 month ago
    2026-2-13 0:46:59

    Hey, figured I’d share! Trying out lode789 and it’s got some solid options. Might be your next favorite! lode789

  10. 3 weeks ago
    2026-3-02 19:48:33

    Heard some buzz about stakei777, figured I’d check it out. Solid site, nothing exceptional, but a decent experience. Roll the dice at stakei777!

  11. 3 weeks ago
    2026-3-02 19:48:49

    Had a ripper time on kv888casino last night! Check out the slots and live dealer games. Join the fun: kv888casino

  12. 3 weeks ago
    2026-3-02 19:49:05

    Heard good things about c99game, gives it a fair shake. Hopefully it is something good: c99game

Send Comment Edit Comment


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