Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập thuhepchenhlech

Thu hẹp chênh lệch

Dễ Sắp xếpMảng cộng dồn (Prefix Sum)Tìm kiếm nhị phân

  • 100 Điểm
  • 1.0s Thời gian
  • 256M Bộ nhớ
  • 0% Tỉ lệ AC
  • 0 Số AC

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

Chưa có bình luận nào.