Ổ đĩa cứng của Linda làm việc rất chậm. Là một chuyên gia về máy tính, cô quyết định thay thế một đầu đọc ổ đĩa bởi n đầu đọc ổ đĩa làm việc đồng thời. Có thể hình dung ổ đĩa của Linda như là một dãy các track, mỗi track có thể xem như là một ô chứa dữ liệu. Các track được đánh số từ trái sang phải bắt đầu từ 1. Ở vị trí khởi điểm, đầu đọc thứ i đặt ở track có số hiệu hi. Trong quá trình đọc, trong một đơn vị thời gian, các đầu đọc có thể di chuyển sang trái, sang phải đúng một track hoặc đứng yên ở vị trí track hiện tại. Sự chuyển động của các đầu đọc không ảnh hưởng đến nhau: có thể có nhiều đầu đọc cùng ở trên một track và vị trí tương đối của các đầu đọc có thể thay đổi. Khi có ít nhất một đầu đọc ở trên một track thì dữ liệu ở track này được đọc ngay lập tức (thời gian đọc bằng 0). Vị trí xuất phát của n đầu đọc là h1, h2,..., hn. Linda cần phải đọc dữ liệu ở m track có số hiệu P1, P2, ..., Pm. Hãy xác định thời gian tối thiểu để các đầu đọc hoàn thành công việc này.
Đầu vào:
Dòng đầu tiên chứa hai số nguyên dương n, m ≤ 10 là số đầu đọc và số track cần đọc
Dòng thứ hai chứa n số nguyên h1, h2, ..., hn - vị trí khởi đầu của các đầu đọc (1 ≤ hi ≤ 10^9)
Dòng thứ ba chứa m số nguyên P1, P2,..., Pm - danh sách các track cần đọc (1 ≤ pi ≤ 10^10)
Đầu ra: Một số nguyên duy nhất là thời gian tối thiểu để đọc hết các track
Input:
3 4
2 5 6
1 3 6 8
Output:
2
Input:
1 2
165
142 200
Output:
81
Bình luận