HackDream Orange 01-H: Bài kiểm tra

Xem PDF

Nộp bài

Điểm: 100 (thành phần)
Thời gian: 1.0s
Bộ nhớ: 256M
Input: bàn phím
Output: màn hình

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

Để kết thúc những bài học về tin học cơ bản, cô giáo ngattaro muốn dùng một bài tập kiểm tra để khảo nghiệm khả năng đám học trò của mình. Dù sao, trông 1 đám học sinh không phải ham chơi thì là luôn nghĩ ra những thứ quái đản, cô không thấy yên tâm chút nào.

Cho một dãy ~n~ số nguyên và một số nguyên ~k~. Học sinh có thể thực hiện nhiều lần 1 trong 2 loại thao tác sau:

  • Tăng một phần tử của dãy lên 1.
  • Giảm một phần tử của dãy đi 1.

Một dãy số được gọi là "dãy đẹp" với hệ số ~k~ khi mà chênh lệch giữa mọi cặp phần tử phân biệt đều lớn hơn hoặc bằng ~k~ ~(|a_i-a_j|≥k~ với mọi ~1≤i,j≤n~ mà ~i≠j)~.

Vậy cần bao nhiêu thao tác để khiến dãy ban đầu trở thành một "dãy đẹp" hệ số ~k~?

Yêu cầu

Đưa ra số lượng thao tác cần thiết ít nhất để thay đổi dãy số nguyên cho trước thành "dãy đẹp" với hệ số ~k~.

Input

  • Dòng đầu tiên chứa 2 số nguyên dương ~n~, ~k~ ~(1≤n≤10^5, 1≤k≤10)~ cách nhau một dấu cách.
  • Dòng thứ hai chứa ~n~ số nguyên ~a_i~ ~(1≤|a_i|≤10^9, 1≤i≤n)~.

Output

Một dòng duy nhất chứa kết quả bài toán.

Sample Input 1

5 1
2 4 1 3 2

Sample Output 1

2

Giải thích

Giảm phần tử thứ nhất 2 lần được dãy [0, 4, 1, 3, 2]

Subtask

  • Có 50% số test ứng với 50% số điểm có ~k=1~;
  • 50% số test còn lại tương ứng với 50% số điểm không có giới hạn gì thêm.

Bình luận đầu tiên

Bình luận

Không có bình luận nào.