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

Các trạm kiểm soát

Đề bài

Mô tả

Trên một trục số có N trạm kiểm soát, trạm thứ i nằm tại toạ độ xi. Nhiều trạm có thể nằm trùng toạ độ nhau.

Một vận động viên xuất phát tại toạ độ a. Để hoàn thành phần thi, người này phải đi qua ít nhất N1 trạm trong số N trạm nói trên, theo thứ tự tuỳ ý. Nói cách khác, vận động viên được phép bỏ qua nhiều nhất một trạm.

Vận động viên chỉ di chuyển dọc theo trục số, và quãng đường đi giữa hai toạ độ uv|uv|. Người này không cần quay về điểm xuất phát sau khi thi xong.

Hãy tính tổng quãng đường nhỏ nhất mà vận động viên phải di chuyển.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên Na: số lượng trạm kiểm soát và toạ độ xuất phát.
  • Dòng thứ hai chứa N số nguyên x1,x2,,xN: toạ độ các trạm kiểm soát.

Dữ liệu ra

In ra một số nguyên duy nhất: tổng quãng đường nhỏ nhất cần di chuyển.

Ràng buộc

  • 1N100000
  • 106a106
  • 106xi106

Ví dụ

Input Output Giải thích
3 10
1 7 12
7 Cần đi qua ít nhất 2 trạm nên bỏ qua trạm tại 1. Từ 10 đi tới 12 (mất 2), rồi quay lại 7 (mất 5). Tổng cộng 7.
2 0
11 -10
10 Chỉ cần đi qua 1 trạm, nên chọn trạm gần nhất là 10, quãng đường 10.
5 0
0 0 1000 0 0
0 Bỏ qua trạm tại 1000. Bốn trạm còn lại đều nằm ngay tại điểm xuất phát nên không phải di chuyển.
1 -1000000
1000000
0 Với N=1, chỉ cần đi qua N1=0 trạm, nên vận động viên đứng yên dù trạm duy nhất ở rất xa.

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 1.26.3 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