Good Sequence

AtCoder
IDarc087_a
Time2000ms
Memory256MB
Difficulty
You are given a sequence of positive integers of length $N$, $a = (a_1, a_2, ..., a_N)$. Your objective is to remove some of the elements in $a$ so that $a$ will be a **good sequence**. Here, an sequence $b$ is a **good sequence** when the following condition holds true: * For each element $x$ in $b$, the value $x$ occurs exactly $x$ times in $b$. For example, $(3, 3, 3)$, $(4, 2, 4, 1, 4, 2, 4)$ and $()$ (an empty sequence) are good sequences, while $(3, 3, 3, 3)$ and $(2, 4, 1, 4, 2)$ are not. Find the minimum number of elements that needs to be removed so that $a$ will be a good sequence. ## Constraints * $1 \leq N \leq 10^5$ * $a_i$ is an integer. * $1 \leq a_i \leq 10^9$ ## Input Input is given from Standard Input in the following format: $N$ $a_1$ $a_2$ $...$ $a_N$ [samples]
Samples
Input #1
4
3 3 3 3
Output #1
1

We can, for example, remove one occurrence of $3$. Then, $(3, 3, 3)$ is a good sequence.
Input #2
5
2 4 1 4 2
Output #2
2

We can, for example, remove two occurrences of $4$. Then, $(2, 1, 2)$ is a good sequence.
Input #3
6
1 2 2 3 3 3
Output #3
0
Input #4
1
1000000000
Output #4
1

Remove one occurrence of $10^9$. Then, $()$ is a good sequence.
Input #5
8
2 7 1 8 2 8 1 8
Output #5
5
API Response (JSON)
{
  "problem": {
    "name": "Good Sequence",
    "description": {
      "content": "You are given a sequence of positive integers of length $N$, $a = (a_1, a_2, ..., a_N)$. Your objective is to remove some of the elements in $a$ so that $a$ will be a **good sequence**. Here, an seque",
      "description_type": "Markdown"
    },
    "platform": "AtCoder",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "arc087_a"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "You are given a sequence of positive integers of length $N$, $a = (a_1, a_2, ..., a_N)$. Your objective is to remove some of the elements in $a$ so that $a$ will be a **good sequence**.\nHere, an seque...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments