Cho dãy gồm \(n\) số nguyên dương \(a_1, a_2, \dots, a_n\). Trong một thao tác, bạn được chọn một phần tử bất kỳ và tăng hoặc giảm giá trị của nó đúng \(1\) đơn vị. Bạn được thực hiện tối đa \(k\) thao tác.
Hãy tìm giá trị nhỏ nhất có thể của hiệu số (phần tử lớn nhất) \(-\) (phần tử nhỏ nhất) của dãy sau khi thực hiện các thao tác.
Input
- Dòng đầu tiên chứa hai số nguyên \(n\) và \(k\).
- Dòng thứ hai chứa \(n\) số nguyên \(a_1, \dots, a_n\).
Output
In ra một số nguyên là hiệu số nhỏ nhất có thể đạt được.
Constraints
- \(2 \le n \le 10^5\).
- \(1 \le k \le 10^{14}\).
- \(1 \le a_i \le 10^9\).
Sample Input 1
5 6
10 2 8 4 20
Sample Output 1
12
Sample Input 2
3 100
5 9 6
Sample Output 2
0
Explanation
Ở ví dụ 1, chẳng hạn kéo \(2\) lên \(4\) (2 thao tác) rồi hạ \(20\) xuống \(16\) (4 thao tác), dãy còn \(10, 4, 8, 4, 16\) với hiệu số \(12\). Ở ví dụ 2, đưa cả ba số về cùng một giá trị chỉ cần ít hơn \(100\) thao tác nên hiệu số bằng \(0\).
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.