6941.Sliding Window Median

Time Limit: 1s Memory Limit: 512MB

You are given an array of $n$ integers. Your task is to calculate the median of each window of $k$ elements, from left to right.

The median is the middle element when the elements are sorted. If the number of elements is even, there are two possible medians and we assume that the median is the smaller of them.

Input Format(From the terminal/stdin)

The first line contains two integers $n$ and $k$ : the number of elements and the size of the window.

Then there are $n$ integers $x_1,x_2,\ldots,x_n$ : the contents of the array.

  • $1 \le k \le n \le 2 \cdot 10^5$
  • $1 \le x_i \le 10^9$

Output Format(To the terminal/stdout)

Print $n-k+1$ values: the medians.

Sample Input

Copy
8 3
2 4 3 5 8 1 2 1
 · \n
 · · · · · · · \n

Sample Output

Copy
3 4 5 5 2 1
 · · · · · \n
Source: CSES, Sliding Window Problems, 1076

Submit

请先 登录

© 2025 FAQs