Mô tả
Sáng sớm mùa đông ở Hà Nội, hai kỹ sư mạng đang kiểm tra vùng phủ sóng 5G dọc một tuyến phố dài. Mỗi trạm phát sóng bao phủ một đoạn đường liên tục trên trục số, được xác định bằng điểm đầu và điểm cuối (tính bằng mét, đo từ đầu phố). Để tránh trùng lặp cấu hình tần số gây nhiễu, họ cần biết chính xác phần đường nào được cả hai trạm phủ sóng cùng lúc — tức là phần giao nhau của hai đoạn thẳng. Nhiệm vụ của bạn là tính độ dài của phần giao nhau đó.
Đầu vào
Bốn số nguyên a1, b1, a2, b2, trong đó đoạn thứ nhất kéo dài từ a1 đến b1, đoạn thứ hai kéo dài từ a2 đến b2. Mỗi đoạn đều có a <= b.
Đầu ra
Trả về một số nguyên duy nhất là độ dài phần giao nhau của hai đoạn. Nếu hai đoạn không giao nhau thì trả về 0.
Ràng buộc
-10^9 <= a1 <= b1 <= 10^9-10^9 <= a2 <= b2 <= 10^9- Độ dài mỗi đoạn không vượt quá
10^9, nên tích và tổng trung gian luôn nằm an toàn trong khoảng số nguyên 64-bit.
Ví dụ
Ví dụ 1:
- Đầu vào:
10, 30, 20, 50 - Đầu ra:
10 - Giải thích: Đoạn thứ nhất phủ từ mét 10 đến mét 30, đoạn thứ hai phủ từ mét 20 đến mét 50. Phần chung kéo dài từ mét 20 đến mét 30, nên độ dài giao là
30 - 20 = 10mét.
Ví dụ 2:
- Đầu vào:
0, 100, 200, 300 - Đầu ra:
0 - Giải thích: Đoạn thứ nhất kết thúc ở mét 100, đoạn thứ hai mới bắt đầu ở mét 200, hai đoạn rời nhau hoàn toàn nên phần giao rỗng, độ dài bằng 0.