CF1005E2.Median on Segments (General Case Edition)

提高+/省选-

通过率:0%

时间限制:3.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

You are given an integer sequence a1,a2,…,ana_1, a_2, \dots, a_n.

Find the number of pairs of indices (l,r)(l, r) (1≤l≤r≤n1 \le l \le r \le n) such that the value of median of al,al+1,…,ara_l, a_{l+1}, \dots, a_r is exactly the given number mm.

The median of a sequence is the value of an element which is in the middle of the sequence after sorting it in non-decreasing order. If the length of the sequence is even, the left of two middle elements is used.

For example, if a=[4,2,7,5]a=[4, 2, 7, 5] then its median is 44 since after sorting the sequence, it will look like [2,4,5,7][2, 4, 5, 7] and the left of two middle elements is equal to 44. The median of [7,1,2,9,6][7, 1, 2, 9, 6] equals 66 since after sorting, the value 66 will be in the middle of the sequence.

Write a program to find the number of pairs of indices (l,r)(l, r) (1≤l≤r≤n1 \le l \le r \le n) such that the value of median of al,al+1,…,ara_l, a_{l+1}, \dots, a_r is exactly the given number mm.

给定一个整数序列 a1,a2,…,ana_1, a_2, \dots, a_n。

请找出满足条件的下标对 (l,r)(l, r)(其中 1≤l≤r≤n1 \le l \le r \le n)的个数,使得子序列 al,al+1,…,ara_l, a_{l+1}, \dots, a_r 的中位数恰好等于给定的数 mm。

一个序列的中位数定义为:将该序列按非递减顺序排序后,位于中间位置的元素的值。若序列长度为偶数,则取中间两个元素中靠左的那个。

例如,若 a=[4,2,7,5]a=[4, 2, 7, 5],则其排序后为 [2,4,5,7][2, 4, 5, 7],中间两个元素为 44 和 55,取左侧的 44,因此中位数为 44;又如 [7,1,2,9,6][7, 1, 2, 9, 6] 排序后为 [1,2,6,7,9][1, 2, 6, 7, 9],中间元素为 66,故中位数为 66。

请编写程序,计算满足条件的下标对 (l,r)(l, r)(其中 1≤l≤r≤n1 \le l \le r \le n)的个数,使得子序列 al,al+1,…,ara_l, a_{l+1}, \dots, a_r 的中位数恰好等于给定的数 mm。

输入格式

The first line contains integers nn and mm (1≤n,m≤2⋅1051 \le n,m \le 2\cdot10^5) — the length of the given sequence and the required value of the median.

The second line contains an integer sequence a1,a2,…,ana_1, a_2, \dots, a_n (1≤ai≤2⋅1051 \le a_i \le 2\cdot10^5).

第一行包含两个整数 nn 和 mm(1≤n,m≤2⋅1051 \le n,m \le 2\cdot10^5)——分别为给定序列的长度和所要求的中位数值。

第二行包含一个整数序列 a1,a2,…,ana_1, a_2, \dots, a_n(1≤ai≤2⋅1051 \le a_i \le 2\cdot10^5)。

输出格式

Print the required number.

输出所需的数字。

输入输出样例

  • 输入#1

    5 4
    1 4 5 60 4

    输出#1

    8
  • 输入#2

    3 1
    1 1 1

    输出#2

    6
  • 输入#3

    15 2
    1 2 3 1 2 3 1 2 3 1 2 3 1 2 3

    输出#3

    97

说明/提示

In the first example, the suitable pairs of indices are: (1,3)(1, 3), (1,4)(1, 4), (1,5)(1, 5), (2,2)(2, 2), (2,3)(2, 3), (2,5)(2, 5), (4,5)(4, 5) and (5,5)(5, 5).

在第一个例子中,合适的索引对为:(1,3)(1, 3)、(1,4)(1, 4)、(1,5)(1, 5)、(2,2)(2, 2)、(2,3)(2, 3)、(2,5)(2, 5)、(4,5)(4, 5) 和 (5,5)(5, 5)。

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

首页