DÃY SỐ TĂNG

Dãy số \(a_{1},a_{2},\ldots,a_{n}\) được gọi là dãy tăng nếu \(a_{1} < a_{2} < \ldots < a_{n}\).

Bạn được cho một dãy số \(b_{1},b_{2},\ldots,b_{n}\) và một số nguyên dương \(d\). Trong mỗi lần thao tác, bạn chọn một phần tử của dãy số và công thêm \(d\) vào nó. Số thao tác ít nhất là bao nhiêu đe3ẻ biến đổi dãy số đã cho thành dãy số tăng.

Dữ liệu vào:

+ Dòng đầu tiên ghi hai số nguyên dương \(n,\ d\ (1 \leq n \leq 10^{5};1 \leq d \leq 10^{9})\)

+ Dòng thứ hai ghi lần lượt \(n\) số nguyên \(b_{1},b_{2},\ldots,b_{n}\ (1 \leq b_{i} \leq 10^{9})\)

Kết quả:

+ Ghi một số nguyên duy nhất cho biết số thao tác ít nhất để biến đổi dãy số đã cho trở thành dãy tăng.

Ví dụ:

Input Output
4 2
1 3 3 2
3

Ràng buộc:

+ Có 30% số test tương ứng 30% số điểm có \(1 \leq n,d,b_{i} \leq 100\);

+ Có 30% số test khác tương ứng 30% số điểm có \(1 \leq n \leq 10^{3}\)\(1 \leq d,b_{i} \leq 10^{6}\);

+ Có 40% số test còn lại tương ứng 40% số điểm không có ràng buộc gì thêm.

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. trungnam (6/7)
  2. sythai (5/8)
  3. npk1605 (5/10)
Trong 7 ngày
  1. nguyenanhvu (40/64)
  2. khieuquan (35/59)
  3. ngokhang (27/55)
Trong 30 ngày
  1. quechi (85/105)
  2. dangphong3108 (79/125)
  3. kiennhientv (79/179)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38905

Lưu Hải Phong - 2020
[email protected]