#CF2184E. Exquisite Array

    ID: 7007 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>组合数学数据结构并查集排序CodeforcesCodeforces Round 1072(Div3)Div3ECF2184E1800

Exquisite Array

题目描述

称一个数字数组是 kk -精致的,如果它至少包含两个元素,并且任意两个相邻的数字之差至少为 kk

给定一个长度为 nn 的排列 ^{\text{∗}} pp。对于每个 kk11n1n-1,求出 kk -精致子数组的数量 ^{\text{†}}

^{\text{∗}} 一个长度为 nn 的排列是一个包含从 11nn 的每个整数恰好一次的数组,顺序任意。

^{\text{†}} 一个数组的子数组是指数组中一个或多个连续元素组成的序列。

输入格式

第一行包含整数 tt1t250001 \le t \le 25000),表示测试用例的数量。接下来是每个测试用例的描述。

每个测试用例的第一行包含一个整数 nn,表示排列的长度(2n1052 \le n \le 10^5)。

每个测试用例的第二行包含 nn 个整数 pip_i,表示排列的元素(1pin1 \le p_i \le n)。保证 pip_i 互不相同。

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

输出格式

对于每个测试用例,输出所有 kk11n1n-1kk -精致子数组的数量。

样例

3
5
5 1 4 2 3
3
3 2 1
4
3 1 2 4
10 6 3 1 
3 0 
6 2 0

来源

Codeforces 2184E,英文题名 Exquisite Array。