Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Trong giờ học Lập trình phân tích dữ liệu, thầy Thư cho Tina một mảng ~a~ gồm ~n~ số nguyên, trong đó ~n~ là số lẻ. Bạn Tina được thực hiện thao tác sau đây với mảng này:
- Chọn một phần tử trong mảng (ví dụ ~a_i~) và tăng nó lên 1 (tức là thay thế nó bằng ~a_i~ + 1).
Thầy Thư yêu cầu bạn sử dụng tối đa ~k~ thao tác, làm sao cho trung vị của mảng là lớn nhất có thể. Cho biết rằng trung vị của mảng (có kích thước lẻ) là phần tử nằm ở vị trí chính giữa sau khi mảng được sắp xếp theo thứ tự không giảm. Ví dụ, trung vị của mảng [1, 5, 2, 4, 5] là 4 vì sau khi sắp xếp, các số của mảng sẽ là [1, 2, 4, 5, 5] và số ở giữa là 4. Bạn hãy giúp Tina nhé.
Input
Dòng đầu tiên chứa hai số nguyên ~n~ và ~k~ với ~1 ≤ n ≤ 2 · 10^5~, ~n~ là số lẻ và ~1 ≤ k ≤ 10^9~) cho biết số lượng phần tử trong mảng và số lượng thao tác tối đa mà Tina có thể thực hiện.
Dòng thứ hai chứa ~n~ số nguyên ~a_1, a_2, . . . , a_n (1 ≤ a_i ≤ 10^9)~, các số không nhất thiết phân biệt.
Output
In ra một số nguyên duy nhất - trung vị lớn nhất có thể sau các phép toán.
Sample Input 1
3 2
1 3 5
Sample Ouput 1
5
Sample Input 2
3 4
1 3 5
Sample Ouput 2
6
Sample Input 3
7 7
4 1 2 4 3 4 4
Sample Ouput 3
5
Giải thích
Trong test đầu, ta được quyền thao tác tối đa 2 lần nên có thể chọn số ~a_2~ = 3 và thao tác với nó hai lần, kết quả được mảng [1, 5, 5] và trung vị là 5.
Trong test giữa, ta có thể tăng số thứ 2 lên 3 đơn vị và tăng số thứ 3 lên 1 đơn vị và thu được mảng [1, 6, 6] có trung vị là 6.
Trong test cuối, kết quả tối đa là 5, không có cách nào tạo được trung vị lớn hơn cả.
Bình luận