U513362 袋鼠认妈妈

题目描述

有 $n$ 只袋鼠(题目假设他们都是母的),你需要给他们组建成家庭。 对于第 $i$ 只袋鼠来说,它的大小用一个数字 $S_i$ 来表示。 如果第 $i$ 只袋鼠的大小 $S_i$ 达到了第 $j$ 只袋鼠的大小 $S_j$ 的两倍(即满足 $S_i \ge 2 \times S_j$),那么第 $i$ 只袋鼠可以做第 $j$ 只袋鼠的妈妈。 并且如果第 $i$ 只袋鼠已经做了另一只袋鼠的妈妈的话,那么她就不能再认妈妈了。 一对母女袋鼠 或者 单独的一只袋鼠 都算一个家庭。 为了让袋鼠尽可能地不孤单,你希望尽可能多的凑成家庭。在这种情况下,家庭的数量是最少的。 请输出进行组合后能够组成的最少的家庭数量。 举个例子:如果有 $4$ 只松鼠,它们的大小分别是 $1$, $6$, $7$, $8$ 。那么你可以选择大小为 $1$ 的松鼠和其他大小的任意一只松鼠组成一个家庭, 所以在这种情况下,最少的家庭数量是 $3$ 。

输入格式

输入的第一行包含一个一个整数 $n$ ($1 \le n \le 5 \times 10^5$)。 接下来 $n$ 行每行包含一个整数,第 $i+1$ 行对应第 $i$ 只松鼠的大小 $S_i$ 。($1 \le S_i \le 10^5$)

输出格式

输出一个整数,表示组合后能够凑成的最少的家庭数。