AT_arc087_a [ABC082C] Good Sequence
Description
[problemUrl]: https://atcoder.jp/contests/abc082/tasks/arc087_a
長さ $ N $ の正整数の列 $ a\ =\ (a_1,\ a_2,\ ...,\ a_N) $ が与えられます。 あなたの目標は、$ a $ のうちいくつかの要素を取り除き、$ a $ を **良い数列** にすることです。
ここで、数列 $ b $ が **良い数列** であるとは、次の条件が成り立つことです。
- $ b $ の各要素 $ x $ について、$ b $ に値 $ x $ はちょうど $ x $ 個含まれる。
例えば、$ (3,\ 3,\ 3) $, $ (4,\ 2,\ 4,\ 1,\ 4,\ 2,\ 4) $, $ () $ (空の数列) は良い数列です。 一方、$ (3,\ 3,\ 3,\ 3) $, $ (2,\ 4,\ 1,\ 4,\ 2) $ は良い数列ではありません。
$ a $ を良い数列にするために取り除くべき要素の個数の最小値を求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ a_1 $ $ a_2 $ $ ... $ $ a_N $
Output Format
$ a $ を良い数列にするために取り除くべき要素の個数の最小値を出力せよ。
Explanation/Hint
### 制約
- $ 1\ \leq\ N\ \leq\ 10^5 $
- $ a_i $ は整数である。
- $ 1\ \leq\ a_i\ \leq\ 10^9 $
### Sample Explanation 1
例えば、要素 $ 3 $ を $ 1 $ 個取り除くと、$ (3,\ 3,\ 3) $ は良い数列になります。
### Sample Explanation 2
例えば、要素 $ 4 $ を $ 2 $ 個取り除くと、$ (2,\ 1,\ 2) $ は良い数列になります。
### Sample Explanation 4
要素 $ 10^9 $ を $ 1 $ 個取り除くと、$ () $ は良い数列になります。