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

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

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

最後に残る数 2

問題に戻る

解説

答えは min⁡(A1,…,AN)+N−1\min(A_1,\ldots,A_N)+N-1min(A1​,…,AN​)+N−1 である。

ある操作の直前の最小値を mmm、取り除く値を xxx とする。残る値 yyy には次の二通りがある。

  • y≤xy\le xy≤x の場合、y+1≥m+1y+1\ge m+1y+1≥m+1 となる。
  • y>xy>xy>x の場合、値は変わらない。整数であり なので、 が成り立つ。

したがって最小値は毎回少なくとも1増える。操作回数はちょうど N−1N-1N−1 回なので、最後の値は初期最小値に N−1N-1N−1 を足した値以上になる。

この下限を達成するには、毎回現在の最大値を一つ取り除けばよい。残るすべての値は取り除いた値以下なので、それぞれ1増える。最小値は少なくとも一つ残る。最大値の削除が最小値の削除でもあるなら、すべての値が等しく、別の最小値が残るからである。よって毎回最小値がちょうど1増え、下限を達成できる。

N=1N=1N=1 なら操作はなく、同じ式が成り立つ。単一サブタスクの想定解は入力を読みながら最小値だけを保存する。時間計算量は O(N)O(N)O(N)、追加領域は O(1)O(1)O(1)。

素朴解法は毎回最大値を探して削除し、残る値を一つずつ更新する。正しいが時間計算量は O(N2)O(N^2)O(N2)、領域計算量は O(N)O(N)O(N) となり、最大入力では時間制限を超える。

各整数が増える回数は最大 N−1N-1N−1 回なので、答えもシミュレーション中の値も最大 109+200 000−1=1 000 199 99910^9+200\,000-1=1\,000\,199\,999109+200000−1=1000 である。すべての整数計算は符号付き64ビットの範囲内に収まる。

Solution written by GPT6

x≥mx\ge mx≥m
y≥x+1≥m+1y\ge x+1\ge m+1y≥x+1≥m+1
199
999