H - Hai lần trung vị (GL THT 23/24)

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 2300 Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Bạn được cho một dãy \(A = [a_1, a_2, \dots, a_n]\). Xét \(B\) là dãy gồm các trung vị của các đoạn con liên tiếp của \(A\), hãy tính trung vị của \(B\).

Nhắc lại, trung vị của một dãy đã được sắp xếp \(x_1, x_2, \dots, x_k\)\(x_{\lfloor \frac{k+1}{2} \rfloor}\).

Input

  • Dòng đầu tiên chứa một số nguyên dương \(1 \le n \le 10^5\) – số phần tử của dãy \(A\).
  • Dòng tiếp theo gồm \(n\) số nguyên dương \(1 \le a_i \le 10^9\).

Output

  • Một dòng duy nhất gồm kết quả bài toán.

Example

Test 1

Input
4
1 2 3 4
Output
2
Note

Dãy (1), (2), (3), (4) có trung vị lần lượt là 1, 2, 3, 4.
Dãy (1, 2), (2, 3), (3, 4) có trung vị lần lượt là 1, 2, 3.
Dãy (1, 2, 3), (2, 3, 4) có trung vị lần lượt là 2, 3.
Dãy (1, 2, 3, 4) có trung vị là 2.
Vậy dãy \(B = [1, 2, 3, 4, 1, 2, 3, 2, 3, 2]\) có trung vị là 2.

Test 2

Input
4
1 1 2 2
Output
1

Test 3

Input
4
4 3 2 1
Output
2

Subtask

  • Subtask \(1\) (\(20\%\) số điểm): \(n \le 1000\).
  • Subtask \(2\) (\(20\%\) số điểm): \(n \le 5000\).
  • Subtask \(3\) (\(20\%\) số điểm): \(n \le 20000\).
  • Subtask \(4\) (\(20\%\) số điểm): \(n \le 50000\).
  • Subtask \(5\) (\(10\%\) số điểm): \(n \le 10^5\) và các phần tử của dãy \(A\) chỉ có \(2\) giá trị khác nhau.
  • Subtask \(6\) (\(10\%\) số điểm): Không có ràng buộc gì thêm.

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.