我们要统计满足下面条件的数对 (i,j):
先把题意转化一下。
在一片连绵的山脉中,记录着 n 个连续观测点的海拔高度 h1,h2,…,hn。现在需要统计有多少对观测点 (i,j)(1≤i<j≤n)满足以下条件:
请你计算这样的观测点对的数量。
数据范围:
第一行包含一个整数 T,表示测试数据组数。接下来对于每组测试数据,第一行包含一个整数 n,表示观测点的数量;第二行包含 n 个整数,依次表示每个观测点的高度 h1,h2,…,hn。
对于每组测试数据,输出一行一个整数,表示满足条件的观测点对数量。
输入
1
6
2 1 3 2 4 3
输出
5
说明
共有 5 对满足条件的观测点:
(1,2):高度 2 和 1 的差值绝对值为 1,且中间没有其他观测点,自动满足条件。(2,4):高度 1 和 2,最大值为 2,中间观测点高度 3 严格大于 2,满足条件。(3,4):高度 3 和 2 差值为 1,中间无点。(4,6):高度 2 和 3,最大值为 3,中间点高度 4 大于 3。(5,6):高度 4 和 3 差值为 1,中间无点。
其他可能的配对(如 (1,3) 等)均因中间点高度不大于 max(hi,hj) 而不满足。输入
1
3
5 5 5
输出
0
说明
所有观测点高度均为 5,任意两点之间的高度差均为 0,不存在高度差为 1 的点对,故满足条件的点对数为 0。
输入
1
5
1 2 3 4 5
输出
4
说明
高度依次为 1, 2, 3, 4, 5,严格递增。相邻点的高度差均为 1,且它们之间没有其他观测点,因此 (1,2)、(2,3)、(3,4)、(4,5) 均满足条件,共 4 对。非相邻点的高度差均大于 1,不满足条件。
输入
1
6
3 1 2 1 2 3
输出
4
说明
满足条件的点对为:
(2,3):高度 1 和 2,差值 1,中间无点。(3,4):高度 2 和 1,中间无点。(4,5):高度 1 和 2,中间无点。(5,6):高度 2 和 3,中间无点。
其他如 (2,5) 虽高度差为 1,但中间包含高度 2 和 1,均不满足严格大于 max(1,2)=2,因此不计入。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册