Gửi bài giải


Điểm: 0,54 (OI)
Giới hạn thời gian: 0.38s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Nguồn bài:
Lê Huy Bình
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Do nhà và trường của Zone nằm ở hai bên bờ của một con sông nên hàng ngày cậu phải đi đò qua sông để đi học. Zone cảm thấy rằng hành trình của ông lái đò là không tối ưu và Zone muốn tìm ra một đường đi tốt hơn.

Sau khi quan sát và đo đạc, Zone có thể biểu diễn được con sông bằng cách chỉ ra ~2~ bờ của nó. Mỗi bờ sông sẽ được biểu diễn bằng ~1~ đường gấp khúc và được xác định bằng tọa độ của các điểm trên đường gấp khúc đó như sau:

Đường gấp khúc biểu diễn bờ phía Đông của sông có ~N~ điểm, điểm thứ ~i~ có tọa độ ~(x_{i}~, ~y_{i})~.

Đường gấp khúc biểu diễn bờ phía Tây của sông có ~M~ điểm, điểm thứ ~j~ có tọa độ ~(u_{j}~, ~v_{j})~.

Biết rằng ~2~ bờ sông không có điểm chung và ~y_{i} < y_{i+1}~ với mọi ~1 \leq i < N~ và ~v_{j} < v_{j+1}~ với mọi ~1 \leq j < M~.

Bạn hãy tìm ~2~ điểm ~A~ và ~B~ sao cho ~A~ nằm trên bờ Đông của con sông và ~B~ nằm trên bờ Tây của con sông và khoảng cách AB là nhỏ nhất.

Input

  • Dòng đầu ghi ~2~ số nguyên dương ~N~ và ~M~.
  • Dòng thứ ~i~ trong ~N~ dòng tiếp theo ghi ~2~ số nguyên ~x_{i}~, ~y_{i}~.
  • Dòng thứ ~j~ trong ~M~ dòng tiếp theo ghi ~2~ số nguyên ~u_{j}~, ~v_{j}~.

Output

Gồm ~1~ dòng duy nhất ghi khoảng cách ngắn nhất tìm được

(Các số thực được ghi với độ chính xác ~3~ chữ số sau dấu phẩy)

Giới hạn

  • ~2 \leq M~, ~N \leq 1000~
  • ~|x_{i}|, |y_{i} |, |u_{j}|, |v_{j}| \leq 10000~

Sample Input

3 4
4 0
3 2
5 4
0 0
2 2
1 3
2 5

Sample Output

1.000

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.