该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
整理序列
题目描述
乐柠兔有一个长度为 n 的整数序列 a1,a2,…,an。
对于一个序列 b,如果可以通过如下操作把它变成一个非降序列 c,则称 b 是一个好序列:
初始时,c 为空。每次操作从当前序列 b 的最左端或最右端选择一个数,将它从 b 中删除,并加入到 c 的末尾。需要进行恰好 ∣b∣ 次操作,使得最终得到的 c 满足
c1≤c2≤⋯≤c∣b∣。
例如,序列 [1,2,3,4,4,2,1] 是好序列,可以依次取出 1,1,2,2,3,4,4,得到非降序列。
现在乐柠兔可以删除原序列的一个前缀。长度为 k 的前缀是 a1,a2,…,ak,其中 0≤k≤n。当 k=0 时,表示不删除任何元素。
请你求出最小的 k,使得删除前 k 个元素后,剩余序列是一个好序列。
你需要独立处理 T 组数据。
输入格式
第一行包含一个整数 T,表示测试数据组数。
接下来依次给出 T 组数据。对于每组数据:
第一行包含一个整数 n。
第二行包含 n 个整数 a1,a2,…,an。
输出格式
对于每组数据,输出一行一个整数,表示需要删除的最短前缀长度。
样例
样例输入 #1
5
4
1 2 3 4
7
4 3 3 8 4 5 2
3
1 1 1
7
1 3 1 4 5 3 2
5
5 4 3 2 3
样例输出 #1
0
4
0
2
3
样例解析
第一组数据中,原序列 [1,2,3,4] 已经是好序列,不需要删除任何元素,所以答案为 0。
第二组数据中,删除前 4 个元素后,剩余序列为 [4,5,2]。可以依次取出 2,4,5,得到非降序列,因此它是好序列。可以证明删除更短的前缀时无法得到好序列,所以答案为 4。
第五组数据中,删除前 3 个元素后,剩余序列为 [2,3],它是好序列。删除前缀长度小于 3 时,剩余序列都不是好序列。
数据范围与约定
对于 100% 的数据,保证 1≤T≤2×104,1≤n≤2×105,1≤ai≤2×105,所有测试数据中 n 的总和不超过 2×105。
| 测试点编号 |
分值 |
具体限制变量 |
特殊性质 |
| 1−2 |
10 |
∑n≤50 |
无 |
| 3−5 |
15 |
∑n≤500 |
特殊性质 A |
| 6−8 |
∑n≤5000 |
特殊性质 B |
| 9−12 |
20 |
∑n≤2×104 |
特殊性质 C |
| 13−16 |
∑n≤2×105 |
无 |
| 17−20 |
- 特殊性质 A:保证每组数据中的序列已经是非降序列。
- 特殊性质 B:保证每组数据中的序列已经是非升序列。
- 特殊性质 C:保证每组数据中 ai 两两不同。