[Buổi 9][Mảng một chiều][RDD] Bài 29: Số thao tác giúp mảng tăng dần 2.


LÀM BÀI

Points: 10
Time limit: 2.0s
Memory limit: 20M

Author:
Problem types
Allowed languages
C++

Số thao tác giúp mảng tăng dần 2.

Bối cảnh

Bài toán được mô tả qua yêu cầu và dữ liệu dưới đây.

Yêu cầu

Cho dãy số A[] gồm có N phần tử. Ở mỗi thao tác bạn có thể tăng các phần tử trong mảng lên 1 lượng là d đơn vị, hãy xác định số thao tác tối thiểu sao cho mảng trở thành một dãy tăng chặt. Ví dụ dãy 1 2 3 7 8 là một dãy tăng chặt, nhưng dãy 1 2 2 7 8 không phải là một dãy tăng chặt. Ví dụ với mảng ban đầu là 1 3 3 2 và d = 2, ta cần thực hiện thao tác thứ nhất thêm d vào phần tử thứ 3 trong mảng, mảng trở thành 1 3 5 2, ta tiếp thục thực hiện 2 thao tác thêm d vào phần tử thứ 4, mảng trở thành dãy tăng chặt là 1 3 5 6

Input

Dòng đầu tiên là số nguyên N và số d. Dòng tiếp theo gồm N số nguyên A[i].(1≤ N, d ≤ 10^4; 0 ≤ A[i] ≤ 10^6)

Output

In ra số thao tác tối thiểu cần thực hiện để biến mảng thành dãy tăng chặt.

Ràng buộc

Đề gốc không nêu ràng buộc riêng.

Ví dụ 1

Input

5 2
1 2 1 3 6

Output

2

Thông tin học tập

  • Buổi: B09
  • Concepts: 1D arrays, input, traversal, aggregation
  • Giới hạn kiến thức: B01-B09
  • Time limit: 2 seconds
  • Memory limit: 20 MB
  • Point: 10

Comments

There are no comments at the moment.

Zalo