CF2210B.Simply Sitting on Chairs

传统题 时间 2000 ms 内存 256 MiB 4 尝试 1 已通过 1 标签

Simply Sitting on Chairs

题目描述

这里有一行 nn 把椅子。初始时全部没有被标记。

有一个长度为 nn 的排列 pp

现在,你在玩一个游戏。从第一把椅子开始顺序考虑,在第 ii 把椅子处,你可以:

  • 如果第 ii 把椅子已经被标记,立即结束游戏。
  • 否则,你可以继续或坐在第 ii 把椅子上。
  • 如果你选择坐下,标记第 pip_i 把椅子并走到下一把椅子。 如果所有椅子都已经考虑过,结束游戏。给出你可以坐下的最大椅子数量。

输入格式

第一行一个正整数 TT($1\le T\le10^4),表示数据组数。

对于每组数据:
第一行一个正整数 nn1n2×1051\le n\le2\times10^5)。
接下来一行 nn 个正整数表示排列 pp

保证 nn 的总和不超过 2×1052\times10^5

输出格式

对于每组数据,一行一个整数表示答案。

说明/提示

在第一组数据中,你可以:

  1. 坐在第 11 把椅子上,标记第 33 把椅子。
  2. 坐在第 22 把椅子上,标记第 22 把椅子。
  3. 考虑第 33 把椅子,由于其已经被标记,结束游戏。

这样,你可以坐在 22 把椅子上,可以证明这是最大的。

在第二组数据中,你可以:

  1. 坐在第 11 把椅子上,标记第 44 把椅子。
  2. 跳过第 22 把椅子。
  3. 坐在第 33 把椅子上,标记第 22 把椅子。
  4. 考虑第 44 把椅子,由于其已经被标记,结束游戏。

这样,你可以坐在 22 把椅子上,可以证明这是最大的。

样例

4
3
3 2 1
5
4 3 2 5 1
4
4 2 1 3
4
2 3 4 1
2
2
3
1

在线编程 IDE

建议全屏模式获得最佳体验