Dãy số
Xem PDF
Điểm:
13 (p)
Thời gian:
1.0s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
Cho dãy số nguyên dương \(a_1, a_2, ..., a_n\). Mỗi thao tác bạn được phép chọn một phần tử bất kỳ trong dãy để tăng lên \(1\) đơn vị.
Yêu cầu: Thực hiện \(m\) thao tác để phần tử nhỏ nhất của dãy (sau khi thực hiện \(m\) thao tác) nhận giá trị lớn nhất.
Dữ liệu vào: :
- Dòng đầu tiên gồm hai số nguyên \(n\) và \(m\) (\(1 \le n \le 2 \cdot 10^5; 0 \le m \le 10^9\)) lần lượt là số lượng phần tử của dãy và số thao tác thực hiện;
- Dòng thứ hai gồm \(n\) số nguyên \(a_1, a_2, ..., a_n\) (\(1 \le a_i \le 10^9\)) là giá trị ban đầu của các phần tử.
Kết quả: Ghi ra một số nguyên duy nhất là giá trị nhỏ nhất của dãy số sau khi thực hiện \(m\) thao tác theo yêu cầu trên.
Ví dụ:
| stdin | stdout |
|---|---|
5 62 8 6 5 9 |
6 |
Ràng buộc:
- Có 20% số điểm có giá trị \(n \le 10^5\) và \(m \le 1\);
- Có 20% số điểm có giá trị \(n = 2\) và \(m \le 10^2\);
- Có 30% số điểm có giá trị \(n \le 10^3\) và \(m \le 10^2\);
- 30% số điểm còn lại không có ràng buộc gì thêm.
Bình luận