传统题 1000ms 256MiB

防御阵型

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

在数据王国的边境线上,有一排由正整数构成的魔法城墙 nums。城墙的每个段落都拥有不同的魔法强度。王国的大法师需要统计所有满足特殊条件的防御子阵:

"只有当子阵的首尾两端同时是整个子阵中的最强魔法节点时,这个防御阵型才能生效!"

现在,作为王国的首席算法工程师,你需要编写一个高效的程序,计算出所有符合条件的魔法子阵数量,帮助王国加强边境防御。

给定一个正整数数组 nums ,统计满足以下条件的子数组的个数:

  1. 子数组的第一个元素是该子数组中的最大值;
  2. 子数组的最后一个元素也是该子数组中的最大值;
  3. 子数组至少包含一个元素。

:子数组是数组中一个连续的元素序列。

输入格式

  • 第一行包含整数 TT ,表示测试用例数量。
  • 每个测试用例包含两行:
    • 第一行:整数 nn,表示数组 numsnums 的长度。
    • 第二行:nn 个正整数,表示数组元素,数字间用空格分隔。

输出格式

  • 对于每个测试用例,输出一个整数表示符合条件的子数组数量。

样例输入

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

样例输出

6
6
1

说明

样例 11 解释

nums = [1,4,3,3,2]

共有 66 个子数组满足条件:

  1. [1] - 最大元素为 11 ,首尾都是 11
  2. [4] - 最大元素为 44 ,首尾都是 44
  3. [3] - 最大元素为 33,首尾都是 33
  4. [3] - 另一个位置的 33
  5. [2] - 最大元素为 22,首尾都是 22
  6. [3,3] - 最大元素为 33,首尾都是 33

数据范围

1T101 \leq T \leq 10
1n1051 \leq n \leq 10^5
1nums[i]1091 \leq nums[i] \leq 10^9

CSP-J/S 训练(第七场)

未参加
状态
已结束
规则
IOI
题目
6
开始于
2025-8-12 15:45
结束于
2025-8-23 7:45
持续时间
256 小时
主持人
参赛人数
4