Đổ xăng

Xem dạng PDF

Gửi bài giải

Điểm: 1,38 (OI)
Giới hạn thời gian: 0.45s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Nguồn bài:
by winterwolf94
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Năm 20XX kì thi IOI lần đầu tiên được tổ chức tại Việt Nam. Với lợi thế sân nhà, đoàn Việt Nam đã giành được vị trí dẫn đầu với thành tích chưa từng có : 4 huy chương vàng ! Sau 2 ngày thi căng thẳng Ban tổ chức (BTC) tổ chức cho tất cả các thí sinh đi du lịch bằng xe bus, tiện thể chiêm ngưỡng thiên nhiên tươi đẹp của nước ta.

Vì đường xá xa xôi mà chi phí xăng dầu lại cao nên BTC đã kí sẵn hợp đồng với tập đoàn PETROLIMEX (PTLX). Xe nào đổ xăng ở bất kì ở 1 trong ~M~ trạm xăng của PTLX sẽ được ưu đãi đặc biệt. Tuy nhiên, hợp đồng ràng buộc rằng tất cả trạm xăng đều phải có khách hàng, tức là nếu có 1 trạm không có xe đến đổ xăng thì BTC sẽ bị phạt một khoản tiền rất lớn.

BTC đã sắp xếp cho các thi sinh ở trong ~N~ khách sạn. Mỗi khách sạn sẽ có 1 xe bus đến đón. Để đảm bảo chuyến đi thuận lợi, mỗi xe đều phải nạp đầy xăng trước khi cả đoàn xuất phát. Tuy nhiên BTC còn muốn tiết kiệm hơn nữa nên sẽ sắp xếp sao cho ~N~ xe tốn ít xăng nhất để đến trạm xăng, đồng nghĩa với tổng quãng đường di chuyển là ngắn nhất.

Nếu một xe bus ở vị trí ~X~ đến trạm xăng ở vị trí ~Y~ sẽ phải di chuyển quãng đường là ~|X-Y|~. Biết vị trí ~N~ xe và ~M~ trạm xăng. Tính tổng quãng đường ngắn nhất mà ~N~ xe phải di chuyển.

Input

  • Dòng đầu tiên ~N~ -- số xe.
  • Dòng thứ 2 chứa ~N~ số nguyên dương là vị trí các xe.
  • Dòng thứ 3 ~M~ -- số trạm xăng.
  • Dòng cuối chứa ~M~ số nguyên dương là vị trí các trạm xăng.
  • Giới hạn : ~1~ ~\leq~ ~M~ ~\leq~ ~N~ ~\le~ ~4000~
  • Vị trí của xe hoặc trạm xăng không vượt quá ~10^{9}~

Output

  • Dòng đầu ghi một số duy nhất là tổng quãng đường ngắn nhất mà N xe phải di chuyển.
  • Dòng thứ hai ghi N số nguyên, số thứ i là số thứ tự của trạm xăng mà xe i (theo thứ tự đọc trong input) di chuyển tới. Nếu có nhiều kết quả, in ra một kết quả bất kì.

Sample Input

3
1 3 2
2
2 10

Sample Output

8
1 2 1

Bình luận

Hãy đọc nội quy trước khi bình luận.


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