trang chủ / bài tập / trongcay2

Trồng cây

Đề bài

Mô tả

Dọc theo một tuyến phố thẳng có n vị trí kế tiếp nhau để trồng cây đánh số từ 1 đến n. Hiện tại chỉ có vị trí thứ k (1kn) đã trồng một cây có độ cao là ak, còn các vị trí khác để trống. Theo dự kiến, người ta sẽ trồng cây có độ cao ai tại vị trí thứ i (1in,ik).

Tuy nhiên, để tăng vẻ đẹp cho hàng cây, người ta muốn tìm một phương án sắp xếp các cây cần trồng vào các vị trí thích hợp (trừ vị trí k) sao cho tổng tất cả các độ chênh lệch của hai cây trồng liền nhau là nhỏ nhất. Độ chênh lệch của hai cây được trồng tại hai vị trí liền nhau là giá trị tuyệt đối hiệu độ cao của hai cây.

Yêu cầu: Tìm giá trị nhỏ nhất t của tổng tất cả các độ chênh lệch của hai cây trồng liền nhau.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên dương nk, n103, 1kn.
  • Dòng sau chứa n số nguyên dương ai, 1in, là độ cao của cây thứ i theo dự kiến. Mỗi số đều không vượt quá 106.

Dữ liệu ra

  • Ghi ra số t tìm được.

Ví dụ

Input Output Giải thích
5 2
7 3 4 2 6
5 Vị trí 2 đã trồng cây cao 3. Sắp xếp các cây còn lại (7,4,2,6) vào các vị trí 1,3,4,5 sao cho tổng chênh lệch liền kề nhỏ nhất. Một cách tối ưu: 2,3,4,6,7 cho tổng =|23|+|34|+|46|+|67|=1+1+2+1=5.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 GO groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0