Đ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ó:
- Có \(m\) con robot thu gom rác đánh số từ \(1\) tới \(m\), con robot thứ \(i\) ở tọa độ \(r_i\).
- Có \(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]\) và \(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 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