DOJ logoDOJ
問題
最近追加された問題保存した問題Workbooks
カテゴリDLCコンテストグループチーム掲示板
ランキング
正解数ランキングストリークランキングDOJ Powerランキング
提出状況
問題募集ログイン新規登録
DOJ logoDOJ

OI形式のサブタスク採点、Eloレーティング、Discord認証を備えたオンラインジャッジです。

問題
問題一覧カテゴリ
コミュニティ
コンテストランキング掲示板お知らせ外部のコンテストを開催するガイド
アカウント
ログイン新規登録ジャッジ状態
ポリシー
利用規約DLCの利用規則プライバシーAPI 文書言語ランタイムコンテストの順位報酬レーティングとパフォーマンス
© 2026 DOJ
All rights reserved
解説

新都市建設

問題に戻る

解説

各建物の高さは独立に決められます。したがって、各建物 iii について max⁡(B1,…,BAi)\max(B_1,\ldots,B_{A_i})max(B1​,…,BAi​​) を求め、すべて足せば答えになります。

h=2,3,…,Mh=2,3,\ldots,Mh=2,3,…,M の順に Bh←max⁡(Bh,Bh−1)B_h \gets \max(B_h,B_{h-1})Bh​← と更新します。すると、 には元の数列の先頭 個の最大値が保存されます。答えは です。

時間計算量は O(N+M)O(N+M)O(N+M)、空間計算量は O(N+M)O(N+M)O(N+M) です。

max
(
Bh​
,
Bh−1​
)
BhB_hBh​
hhh
∑i=1NBAi\sum_{i=1}^{N}B_{A_i}∑i=1N​BAi​​