#856. 右边的最大值
右边的最大值
题目描述
给定一个包含 个整数的数组 。
当数组不为空时,将会反复执行包含以下两个步骤的操作:
- 首先,选出数组中的最大元素(如果有多个最大元素,则选择最右边的那个最大元素);
- 然后,从数组中删除被选中的元素以及它之后的所有元素。
你的任务是计算在数组变为空之前,一共需要执行多少次操作。
输入格式
第一行包含一个整数 —— 测试用例的数量。
每个测试用例包含两行:
- 第一行包含一个整数 —— 数组的长度;
- 第二行包含 个整数 —— 数组 的元素。
输出格式
对于每个测试用例,输出一行一个整数,表示将要执行的操作次数。
样例输入 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
说明
样例解释
在第一个样例中,初始数组为 。对其进行以下操作:
- 首先,选择第 个元素(值为 )。删除该元素及以后的元素,删除了最后两个元素,数组变为 ;
- 然后,选择第 个元素(值为 )。删除了最后一个元素,数组变为 ;
- 接着,选择第 个元素(值为 )。删除了剩余的两个元素,因此数组在 次操作后变为空。
数据范围
- 对于所有测试点,保证 ,,。
- 保证所有测试用例中 的总和不超过 。