#856. 右边的最大值

右边的最大值

题目描述

给定一个包含 nn 个整数的数组 aa

当数组不为空时,将会反复执行包含以下两个步骤的操作:

  • 首先,选出数组中的最大元素(如果有多个最大元素,则选择最右边的那个最大元素);
  • 然后,从数组中删除被选中的元素以及它之后的所有元素。

你的任务是计算在数组变为空之前,一共需要执行多少次操作。

输入格式

第一行包含一个整数 tt —— 测试用例的数量。

每个测试用例包含两行:

  • 第一行包含一个整数 nn —— 数组的长度;
  • 第二行包含 nn 个整数 a1,a2,,ana_1,a_2,\dots,a_n —— 数组 aa 的元素。

输出格式

对于每个测试用例,输出一行一个整数,表示将要执行的操作次数。

样例输入 1

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

样例输出 1

3
6
1
3

说明

样例解释

在第一个样例中,初始数组为 [2,1,2,3,1][2,1,2,3,1]。对其进行以下操作:

  • 首先,选择第 44 个元素(值为 33)。删除该元素及以后的元素,删除了最后两个元素,数组变为 [2,1,2][2,1,2]
  • 然后,选择第 33 个元素(值为 22)。删除了最后一个元素,数组变为 [2,1][2,1]
  • 接着,选择第 11 个元素(值为 22)。删除了剩余的两个元素,因此数组在 33 次操作后变为空。

数据范围

  • 对于所有测试点,保证 1t1041 \le t \le 10^42n21052 \le n \le 2 \cdot 10^51ain1 \le a_i \le n
  • 保证所有测试用例中 nn 的总和不超过 21052 \cdot 10^5