Happybob's Numbers (UBC001B)
题目描述
happybob 在地上有 $n$ 个数,第 $i$ 个记为 $a_i$。happybob 正在研究如何将这些数全部删除。在他开始进行所有操作以前,他有一次按任意顺序摆放这些数的机会。他接下来要按照如下方式进行删数:
- happybob 有一个删数下标 $h$(初始时 $h=1$),他会设立一个新变量 $H$,其值为 $a_h$ ,然后对于每一个满足 $h\le i<k$ 的正整数 $i$ 都执行 $a_i\gets a_{i+1}$(这里 $k$ 是当前地上剩余的数的个数)并删除数 $a_k$,在这之后他会把 $h$ 赋值为 $H$。
- **如果在任何一次操作过后,$h$ 严格大于当前地上剩余的数的个数,那么他将不能再删除任何数。**
当然以他的这种删数方式不一定可以删完所有数,所以他现在想问你:他最多能删除多少个数?
输入输出格式
输入格式
第一行,一个正整数 $t$,表示测试数据组数。
对于每组数据:
第一行,一个正整数 $n$,表示 $a$ 的大小;
第二行,$n$ 个正整数表示 $a$ 中的元素。
输出格式
$t$ 行,每行一个正整数,表示该组测试数据对应的答案。
输入输出样例
输入样例 #1
2
3
1 2 3
4
114 514 1919 810
输出样例 #1
3
1
说明
#### 样例解释
对于第一个数据点,happybob 可以把 $a$ 数组排序为 $[2, 3, 1]$。以下是删数过程:
| 操作次数 | $h$(操作完成后) | 地上的数(操作完成后) |
| -- | -- | -- |
| 初始 | $1$ | $[2, 3, 1]$ |
| $1$ | $2$ | $[3, 1]$ |
| $2$ | $1$ | $[3]$ |
| $3$ | $3$ | $[]$ |
地上没有数了,也就是一共删除了 $3$ 个数。
对于第二个数据点,可以证明,无论怎么排序 $a$,都只能删除一个数。
#### 数据范围
**本题有多组测试数据。**
对于 $100\%$ 的数据,保证 $1 \le t,n,\sum n\le 5 \times 10^5$,$1\le a_i\le 10^9$。其中 $\sum n$ 表示所有测试数据中 $n$ 的和。