#CF2018B. 破城者

    ID: 6262 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 1 上传者: 标签>其他二分查找数据结构贪心动态规划区间DP模拟双指针扫描

破城者

B. 破城者

每测试点时间限制:22
每测试点内存限制:256256 兆字节


题目描述

nn 座城市排成一行,从左到右编号为 1,2,,n1, 2, \dots, n

  • 在时刻 11,你恰好征服一座城市,称为起始城市
  • 在时刻 2,3,,n2, 3, \dots, n,你可以选择一座与已征服城市相邻的城市并征服它。

获胜条件:对于每个 ii,你征服城市 ii 的时刻不晚于 aia_i
是否存在获胜策略取决于起始城市的选择。

问:有多少个起始城市可以让你获胜?


输入格式

每个测试点包含多个测试用例。
第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。
接下来每个测试用例的输入格式如下:

  • 第一行包含一个整数 nn1n2×1051 \le n \le 2 \times 10^5),表示城市的数量。
  • 第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n1ain1 \le a_i \le n),表示征服每个城市的截止时间。

数据保证所有测试用例的 nn 之和不超过 2×1052 \times 10^5


输出格式

对于每个测试用例,输出一个整数:能够获胜的起始城市的数量。


样例输入

3
6
6 3 3 3 5 5
6
5 6 4 1 4 5
9
8 6 4 2 1 3 5 7 9

样例输出

3
0
1

样例解释

  • 第一个测试用例中,城市 223344 是好的起始城市。
  • 第二个测试用例中,没有好的起始城市。
  • 第三个测试用例中,唯一好的起始城市是城市 55