Bài 4: Phần tử giữa (HSG 12 Gia Lai 2025-2026)

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: 1500 Thời gian: 1.0s Bộ nhớ: 256M Input: MEDIAN.INP Output: MEDIAN.OUT

Phần tử giữa của một tập hợp các số là phần tử nằm ở vị trí chính giữa sau khi sắp xếp các số theo thứ tự không giảm.

Nói cách khác, phần tử giữa chia dãy đã sắp xếp thành hai phần sao cho:

  • Một nửa số phần tử nhỏ hơn hoặc bằng phần tử giữa.
  • Một nửa số phần tử lớn hơn hoặc bằng phần tử giữa.

Cho một bảng số nguyên không âm gồm M dòng và N cột. Cần chọn một bảng con hình chữ nhật có kích thước đúng R x C.

Với mỗi bảng con được chọn, ta xét phần tử giữa của tất cả các số nằm trong bảng con đó.

Yêu cầu

Hãy tìm giá trị nhỏ nhất có thể của phần tử giữa trong một bảng con kích thước R x C.

Input

  • Dòng đầu tiên chứa bốn số nguyên M, N, R, C
    \((1 \le M, N \le 1000,\ 1 \le R \le M,\ 1 \le C \le N)\).
  • M dòng tiếp theo, mỗi dòng chứa N số nguyên không âm, mô tả bảng số.
    Các số không vượt quá 10^9.

Output

  • In ra một số nguyên duy nhất là giá trị nhỏ nhất của phần tử giữa tìm được.

Example

Test 1

Input
5 5 5 3 
9 10 11 12 8 
1 2 3 4 5 
13 14 1 10 1 
5 20 7 8 25 
13 15 6 8 9
Output
8
Note

Ta cần tìm bảng con kích thước 5 x 3.
Một bảng con phù hợp là các cột từ 3 đến 5:

11 12 8 3 4 5 1 10 1 7 8 25 6 8 9 

Sau khi sắp xếp các phần tử trong bảng con này theo thứ tự không giảm, phần tử giữa có giá trị là 8.
Có thể chứng minh rằng không tồn tại bảng con kích thước 5 x 3 nào có phần tử giữa nhỏ hơn 8.

Bình luận

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

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