BÀI 3: THAO TÁC TRÊN MẢNG SỐ

Xem dạng PDF

Gửi bài giải

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

Tác giả:
Dạng bài

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

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.