Thu gom rác

Xem PDF

Điểm: 1600 Thời gian: 1.0s Bộ nhớ: 1G Input: GARBOT.INP Output: GARBOT.OUT

Trên một đoạn đường thẳng biểu diễn như trục số có:

  • \(m\) con robot thu gom rác đánh số từ \(1\) tới \(m\), con robot thứ \(i\) ở tọa độ \(r_i\).
  • \(n\) đống rác đánh số từ \(1\) tới \(𝑛\). Đống rác thứ \(j\) ở tọa độ \(x_j\).

Ở đây các tọa độ \(x[1 \ldots n]\)\(r[1 \ldots m]\) đều là các số nguyên.

Các robots làm việc đồng thời theo cách sau:

  • Nếu con robot đứng ở vị trí có đống rác hoặc đi qua vị trí có đống rác, nó sẽ dọn sạch đống rác đó, thời gian dọn rác không đáng kể (bằng \(0\)).
  • Mỗi giây, robot có thể đứng im hoặc di chuyển tiến hoặc lùi trên trục số đúng một đơn vị độ dài.

Bạn được yêu cầu lập trình di chuyển cho các con robot, sao cho chúng có thể dọn sạch các đống rác trong thời gian nhanh nhất.

Input

Vào từ file văn bản GARBOT.INP

  • Dòng 1 chứa hai số nguyên dương \(m, n \leq 10^5\).
  • Dòng 2 chứa \(m\) số nguyên dương \(r_1, r_2, \ldots , r_m (\forall i: |r_i | \leq 10^9)\).
  • Dòng 3 chứa \(n\) số nguyên dương \(x_1, x_2, \ldots, x_n (\forall j: x_j \leq 10^9)\).

Output

  • Ghi ra file văn bản GARBOT.OUT một số nguyên duy nhất là thời gian nhanh nhất (tính bằng giây) để dọn sạch tất cả các đống rác theo phương án tìm được

Example

Test 1

GARBOT.INP
2 4
2 9
1 10 6 5
GARBOT.OUT
5
Note

Test 2

GARBOT.INP
4 5
1 3 5 9
2 4 6 8 99
GARBOT.OUT
90
Note

Con robot ở vị trí \(9\) đi dọn đống rác ở vị trí \(99\). \(4\) đống rác còn lại có thể để ba con robot còn lại con nào đi dọn cũng được.

Test 3

GARBOT.INP
4 7
1 20 98 1000
2 18 19 24 25 99 1000
GARBOT.OUT
9
Note
  • Con robot ở vị trí \(1\) đi dọn đống rác ở vị trí \(2\).
  • Con robot ở vị trí \(20\) đi dọn lần lượt các đống rác ở vị trí \(19,18,24,25\).
  • Con robot ở vị trí \(98\) đi dọn đống rác ở vị trí \(99\).
  • Con robot ở vị trí \(1000\) đứng im.

Bình luận

Không có bình luận nào.