CF1486D.Max Median

提高+/省选-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

You are a given an array aa of length nn. Find a subarray a[l..r]a[l..r] with length at least kk with the largest median.

A median in an array of length nn is an element which occupies position number ⌊n+12⌋\lfloor \frac{n + 1}{2} \rfloor after we sort the elements in non-decreasing order. For example: median([1,2,3,4])=2median([1, 2, 3, 4]) = 2, median([3,2,1])=2median([3, 2, 1]) = 2, median([2,1,2,1])=1median([2, 1, 2, 1]) = 1.

Subarray a[l..r]a[l..r] is a contiguous part of the array aa, i. e. the array al,al+1,…,ara_l,a_{l+1},\ldots,a_r for some 1≤l≤r≤n1 \leq l \leq r \leq n, its length is r−l+1r - l + 1.

给定一个长度为 nn 的数组 aa。请找出一个长度至少为 kk 的子数组 a[l..r]a[l..r],使其中位数最大。

一个长度为 nn 的数组的中位数,是指将该数组所有元素按非递减顺序排序后,位于位置 ⌊n+12⌋\lfloor \frac{n + 1}{2} \rfloor 上的元素。例如:
median([1,2,3,4])=2median([1, 2, 3, 4]) = 2,
median([3,2,1])=2median([3, 2, 1]) = 2,
median([2,1,2,1])=1median([2, 1, 2, 1]) = 1。

子数组 a[l..r]a[l..r] 是数组 aa 的一个连续片段,即对某个满足 1≤l≤r≤n1 \leq l \leq r \leq n 的下标范围,取 al,al+1,…,ara_l, a_{l+1}, \ldots, a_r 构成的数组,其长度为 r−l+1r - l + 1。

输入格式

The first line contains two integers nn and kk (1≤k≤n≤2⋅1051 \leq k \leq n \leq 2 \cdot 10^5).

The second line contains nn integers a1,a2,…,ana_1, a_2, \ldots, a_n (1≤ai≤n1 \leq a_i \leq n).

第一行包含两个整数 nn 和 kk(1≤k≤n≤2⋅1051 \leq k \leq n \leq 2 \cdot 10^5)。

第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n(1≤ai≤n1 \leq a_i \leq n)。

输出格式

Output one integer mm — the maximum median you can get.

输出一个整数 mm —— 你能得到的最大中位数。

输入输出样例

  • 输入#1

    5 3
    1 2 3 2 1

    输出#1

    2
  • 输入#2

    4 2
    1 2 3 4

    输出#2

    3

说明/提示

In the first example all the possible subarrays are [1..3][1..3], [1..4][1..4], [1..5][1..5], [2..4][2..4], [2..5][2..5] and [3..5][3..5] and the median for all of them is 22, so the maximum possible median is 22 too.

In the second example median([3..4])=3median([3..4]) = 3.

在第一个例子中,所有可能的子数组为 [1..3][1..3]、[1..4][1..4]、[1..5][1..5]、[2..4][2..4]、[2..5][2..5] 和 [3..5][3..5],它们的中位数均为 22,因此可能的最大中位数也是 22。

在第二个例子中,median([3..4])=3median([3..4]) = 3。

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

首页