競プロキャンプ2026関西
コンテスト日時
2026/10/17 (Sa) 15:30 - 17:30

C - Comfortable Roads

Benihuki
2
s
1024
MB
100
点

問題文

競プロ王国には $N$ 個の町があり、各町には $1$ から $N$ までの番号が振られています。はじめ、競プロ王国には道が存在しません。
あなたは、これから以下の操作を繰り返し行います。

  • $2$ つの町 $u$, $v$ を選び、町 $u$ と町 $v$ を双方向に結ぶ道を追加する。

以下の条件を満たすようにするために必要な操作回数の最小値を求めてください。

  • 各 $i$ ($i = 1, 2, \ldots , N$) について、以下の条件を満たす。
    • 競プロ王国の任意の町 $j$ について、町 $i$ から町 $j$ には $D _ i$ 本以下の道を通ることで到達することができる。

制約

  • $2 \leq N \leq 300{,}000$
  • $1 \leq D _ i \leq N-1$
  • 入力はすべて整数

入力

入力は以下の形式で標準入力から与えられる。

$N$
$D _ 1$ $D _ 2$ $\cdots$ $D _ N$

出力

答えを整数で出力せよ。

入力例 1
4 1 2 1 3
出力例 1
5

例えば、競プロ王国に対して以下の操作を行うことで、条件を満たします。

  • 町 $1$ と町 $2$ を結ぶ道を追加する。
  • 町 $1$ と町 $3$ を結ぶ道を追加する。
  • 町 $1$ と町 $4$ を結ぶ道を追加する。
  • 町 $2$ と町 $3$ を結ぶ道を追加する。
  • 町 $3$ と町 $4$ を結ぶ道を追加する。

$4$ 回以下の操作で条件を満たすことができないため、答えは $5$ です。

入力例 2
10 9 9 8 2 4 4 3 5 3 7
出力例 2
9
提出
C++23 (g++ 12.2.0)