CF2064F.We Be Summing

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个长度为 nn 的数组 aa 和一个整数 kk。

称一个非空且长度为 mm 的数组 bb 为史诗子数组(epic subarray),当且仅当存在一个整数 ii 满足 1≤i<m1 \le i < m 且 min⁡(b1,…,bi)+max⁡(bi+1,…,bm)=k\min(b_1,\ldots,b_i) + \max(b_{i + 1},\ldots,b_m) = k。

请计算数组 aa 中史诗子数组 ∗^{\text{∗}} 的数量。

∗^{\text{∗}} 若数组 aa 可以通过从数组 bb 的开头和结尾删除若干(可能为零或全部)元素得到,则称 aa 是 bb 的子数组(subarray)。

输入格式

第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4)——测试用例数量。

每个测试用例的第一行包含两个整数 nn 和 kk(2≤n≤2⋅1052 \le n \le 2 \cdot 10^5;n<k<2⋅nn < k < 2 \cdot n)——分别表示数组 aa 的长度和参数 kk。

每个测试用例的第二行包含 nn 个整数 a1,a2,…,ana_1,a_2,\ldots,a_n(1≤ai≤n1 \le a_i \le n)。

所有测试用例的 nn 之和不超过 2⋅1052 \cdot 10^5。

输出格式

对于每个测试用例,输出数组 aa 中史诗连续子数组的数量。

输入输出样例

  • 输入#1

    6
    5 7
    1 2 3 4 5
    7 13
    6 6 6 6 7 7 7
    6 9
    4 5 6 6 5 1
    5 9
    5 5 4 5 5
    5 6
    3 3 3 3 3
    6 8
    4 5 4 5 4 5

    输出#1

    2
    12
    3
    8
    10
    4

说明/提示

第一个测试用例中所有史诗子数组如下:

  • [2,3,4,5][2, 3, 4, 5],因为 min⁡(2,3)+max⁡(4,5)=2+5=7\min(2, 3) + \max(4, 5) = 2 + 5 = 7。
  • [3,4][3, 4],因为 min⁡(3)+max⁡(4)=3+4=7\min(3) + \max(4) = 3 + 4 = 7。

第二个测试用例中,所有包含至少一个 66 和至少一个 77 的子数组均为史诗子数组。

输入解题思路,AI测评打分。不知道怎么写?

首页