[C10_NA_DHV_23] Trung vị

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, Python

Cho ~n~ dãy số không giảm ~A_1, A_2, ..., A_n~, mỗi dãy ~A_i~ ~(i = 1, 2, ..., n)~ gồm ~m~ số nguyên (dãy số được gọi là không giảm nếu mỗi phần tử đứng sau có giá trị lớn hơn hoặc bằng phần từ đứng trước). Xét hai dãy số ~A_i~ và ~A_j~ ~(1 \le \{i, j\} \le n)~, ta gọi dãy số ~A_{ij}~ là dãy gộp của hai dãy ~A_i~ và ~A_j~ gồm ~2 \times m~ phần tử được sắp xếp theo thứ tự không giảm, phần tử đứng ở vị trí thứ ~m~ trong dãy gộp được gọi là phần tử trung vị của nó. Ví dụ, xét hai dãy số không giảm ~A_{i} = (1, 3, 4, 5, 6)~ và ~A_{j} = (0, 1, 5, 6, 7)~, khi đó dãy gộp từ hai dãy đã cho là ~A_{ij} = (0, 1, 1, 3, 4, 5, 5, 6, 6, 7)~ và có phần tử trung vị là ~4~ (do ~m = 5~).

Yêu cầu

Tìm giá trị bé nhất và giá trị lớn nhất của các phần từ trung vị của tất cả các dãy gộp ~A_{ij}~ ~(1 \le i < j \le n)~.

Dữ liệu đầu vào

Gồm ~n + 1~ dòng:

  • Dòng đầu chứa hai số ~n~ và ~m~ ~(2 \le n \le 10^2,\ 1 \le m \le 10^4)~ cách nhau bởi ít nhất một dấu cách.
  • Dòng thứ ~i~ trong ~n~ dòng tiếp theo chứa ~m~ số nguyên là các phần tử của dãy thứ ~i~ trong số ~n~ dãy đã cho. Giả thiết các phần tử của các dãy số là các số nguyên có giá trị tuyệt đối không vượt quá ~10^9~. Hai số liên tiếp trong cùng một dòng cách trong tệp dữ liệu được ghi cách nhau bởi ít nhất một dấu cách trống.

Dữ liệu đầu ra

Gồm hai số nguyên là giá trị bé nhất và giá trị lớn nhất của tất cả phần tử trung vị của tất cả dãy gộp ~A_{ij}~ ~(1 \le i < j \le n)~, giữa hai giá trị cách nhau bởi ít nhất một dấu cách trống.

Ví dụ

Ví dụ 1
INPUT
3 6
1 2 3 4 5 6
3 4 5 6 7 8
0 0 1 1 2 2
OUTPUT
2 4

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.