trang chủ / đề bài / dhbb19_seqgame

Trò chơi trên dãy số

Đề bài

Mô tả

Long và Vân cùng nhau chơi trò chơi trên dãy số như sau: Long sẽ chọn một dãy gồm n số nguyên a1,a2,…,an. Sau đó, Vân sẽ tìm cách biến đổi dãy số nguyên a1,a2,…,an về dãy đẹp bậc d bằng dãy các bước biến đổi như sau: mỗi bước, chọn một số trong dãy, tăng hoặc giảm số đó đi một đơn vị.

Một dãy b1,b2,…,bn được gọi là dãy đẹp bậc d nếu bi=bi−1+d với i=2,3,…,n. Cụ thể, dãy b1,b2=b1+d,…,bn=bn−1+d là dãy đẹp bậc d (số hạng đầu b1 là số nguyên bất kỳ, kể cả số âm).

Ví dụ, dãy (3,2,2) với d=1 mất ít nhất 3 phép biến đổi để đưa về dãy (1,2,3) là một dãy đẹp bậc 1.

Yêu cầu: Cho dãy số nguyên a1,a2,…,an và số nguyên không âm d, hãy tính số bước ít nhất cần dùng để biến đổi dãy a1,a2,…,an thành một dãy đẹp bậc d.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên n (1≤n≤1000) và d (0≤d≤109);
  • Dòng thứ hai chứa n số nguyên mô tả dãy a1,a2,…,an (|ai|≤109).

Dữ liệu ra

In ra một số nguyên là số bước ít nhất cần dùng để biến đổi dãy a1,a2,…,an thành một dãy đẹp bậc d.

Ràng buộc

  • 1≤n≤1000.
  • 0≤d≤109.
  • |ai|≤109.

Subtasks

  • Có 25% số test ứng với 25% số điểm của bài có d=0 và |ai|≤103;
  • Có 25% số test khác ứng với 25% số điểm của bài có d=0 và |ai|≤109;
  • Có 25% số test khác ứng với 25% số điểm của bài có d=1 và |ai|≤103;
  • Có 25% số test còn lại ứng với 25% số điểm còn lại của bài có d≤109 và |ai|≤109.

Ví dụ

Input Output Giải thích
3 1
3 2 2
3 Giảm a1 đi 2 và tăng a3 lên 1, được dãy (1,2,3) là dãy đẹp bậc 1.
4 0
1 5 2 10
12 Ví dụ bổ sung (không có trong đề gốc). Với d=0 dãy đẹp có mọi số bằng nhau; đưa về (2,2,2,2) mất 1+3+0+8=12 bước.
5 3
-2 4 3 10 9
8 Ví dụ bổ sung. Dãy đẹp (−2,1,4,7,10) có số hạng đầu âm; số bước là 0+3+1+3+1=8.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0