Dãy bi
Gửi bài giải
Điểm:
100
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
1G
Tác giả:
Kiểu bài tập
Ngôn ngữ cho phép
C++, Python
Alice đang thiết kế một trò chơi điều khiển các viên bi trên trục tọa độ Ox.
Trên trục số có N viên bi và M cái hố. Viên bi thứ i ban đầu nằm tại tọa độ pᵢ, còn hố thứ j nằm tại tọa độ qⱼ.
Mỗi giây, Alice có thể thực hiện một trong hai thao tác:
- Lùi: Tất cả các viên bi đồng loạt dịch sang bên trái 1 đơn vị;
- Tiến: Tất cả các viên bi đồng loạt dịch sang bên phải 1 đơn vị.
Nếu tại một thời điểm bất kỳ, một viên bi di chuyển đến tọa độ trùng với vị trí của một cái hố bất kỳ, viên bi đó sẽ ngay lập tức rơi xuống hố và không tiếp tục di chuyển.
Trò chơi kết thúc khi tất cả N viên bi đều đã rơi xuống hố.
Yêu cầu: Hãy giúp Alice tính số giây ít nhất cần thiết để tất cả các viên bi đều rơi xuống hố.
INPUT
- Dòng đầu tiên chứa hai số nguyên dương N, M (N, M ≤ 10⁵);
- Dòng thứ hai chứa N số nguyên p₁, p₂, …, pₙ (1 ≤ pᵢ ≤ 10⁹), là tọa độ ban đầu của các viên bi;
- Dòng thứ ba chứa M số nguyên q₁, q₂, …, qₘ (1 ≤ qⱼ ≤ 10⁹), là tọa độ của các cái hố.
OUTPUT
In ra một số nguyên duy nhất là số giây nhỏ nhất để tất cả các viên bi đều rơi xuống hố.
Ràng buộc
- 30% số test có N = 2;
- 40% số test khác thỏa mãn M = 2 và:
q₁ < p₁, p₂, ..., pₙ < q₂ - 30% số test còn lại không có ràng buộc nào khác.
Ví dụ
Sample Input
2 2
3 98
1 101
Sample Output
7
Nhận xét