Lùa bò về chuồng

View as PDF

Submit solution

Points: 1.50 (partial)
Time limit: 1.0s
Memory limit: 256M
Input: stdin
Output: stdout

Problem source:
TST_CSP_2022
Problem type
Allowed languages
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Sau khi thử nghiệm thành công với mô hình máy bơm nước để tưới tiêu, Giáo sư X dần mở rộng các thửa ruộng của mình thành mô hình trang trại. Tức là ngoài trồng cấy ông còn chuyển sang chăn nuôi. Trang trại của Giáo sư có một dãy căn phòng cũ dùng để làm chuồng cho các con bò mới mua. Các phòng được đánh số lần lượt từ ~1,2, \ldots~ Cụ thể, phòng ~i~ và ~i+1~ là hai phòng nằm liền kề nhau.

Do chưa có kinh nghiệm quản lý, các con bò tùy tiện ra vào các phòng không kiểm soát. Trang trại của ông hiện tại có ~n~ con bò, con bò thứ ~i~ đang đứng tại phòng ~x_{i}~. Do có lệnh cần kiểm tra sức khỏe định kì cho các con bò nên ông muốn tập trung chúng lại. Sẽ có ~k~ bác sĩ thú y đến thực hiện việc kiểm tra này nên ông muốn lùa các con bò về đúng ~k~ phòng.

Để di chuyển sang phòng bên cạnh, mỗi con bò cần 1 đơn vị thời gian. Các con bò sẽ di chuyển tới phòng gần nó nhất trong số ~k~ phòng được chỉ định. Từ nơi đang đứng chúng có thể đi sang một phòng liền kề. Khi đó, thời gian lùa bò được tính là tổng thời gian di chuyển tới phòng kiểm tra được chỉ định của tất cả các con bò.

Để tiết kiệm thời gian, Giáo sư muốn đưa ra một phương án lùa bò sao cho tổng thời gian là nhỏ nhất.

Yêu cầu: Bạn hãy giúp Giáo sư tìm tổng thời gian ít nhất để lùa các con bò về đúng ~k~ phòng.

Dữ liệu:

  • Dòng đầu chứa hai số nguyên dương ~n, k\left(k \leq n \leq 10^{4}\right)~ lần lượt là số con bò và số phòng để lùa bò về đó;

  • Dòng tiếp chứa ~n~ số nguyên dương ~x_{1}, x_{2}, \ldots, x_{n}\left(x_{i} \leq 10^{9}\right)~ là chỉ số phòng của ~n~ con bò hiện tại.

Kết quả:

  • Ghi ra một số nguyên duy nhất là thời gian để lùa bò theo phương án tối ưu tìm được.

Ví dụ:

Sample Input
6 3 
9 19 2 11 5 15
Sample Output
9

Ràng buộc:

  • Có ~15 \%~ số test của bài có ~n \leq 6~ và ~x_{i} \leq 6~ với mọi ~i~;
  • Có ~15 \%~ số test của bài có ~n \leq 50~;
  • Có ~20 \%~ số test của bài có ~n \leq 200~;

  • Có ~25 \%~ số test của bài với ~n \leq 1000~;

  • Còn lại không có điều kiện gì thêm.


Comments

Please read the guidelines before commenting.


There are no comments at the moment.