trang chủ / đề bài / voi20_build

Tòa nhà

Đề bài

Mô tả

Thành phố nơi Alice sinh sống có n toà nhà. Trên bản thiết kế, mặt bằng nền mỗi tòa nhà đều là hình chữ nhật có các cạnh song song với trục tọa độ, với các đỉnh đều có tọa độ nguyên trên hệ trục tọa độ. Hai tòa nhà gọi là liền kề nếu có hai đường biên của hai hình chữ nhật mặt nền tương ứng hai tòa nhà đó có ít nhất một điểm chung. Để thuận tiện đi lại giữa các tòa nhà, người ta xây dựng một lối đi tắt hai chiều giữa mỗi cặp tòa nhà liền kề.

Alice rất thích thú với cách thiết kế các tòa nhà của thành phố và thường xuyên đi lại giữa các tòa nhà thông qua các lối đi tắt này. Sau một thời gian khám phá, Alice nhận thấy có một số lối đi tắt là độc đạo. Một lối đi tắt giữa hai tòa nhà u và v gọi là độc đạo nếu như sau khi đi từ u sang v qua lối đi này thì không có cách đi nào quay trở lại u thông qua các lối đi tắt khác ngoài lối đi tắt từ v về u.

Với mỗi cặp tòa nhà (u,v) có lối đi tắt là độc đạo, Alice tiếp tục khám phá nếu như đóng cửa lối đi độc đạo này thì xuất phát từ u Alice có thể tham quan được tối đa du tòa nhà, và nếu xuất phát từ v Alice có thể tham quan được tối đa dv tòa nhà. Khoảng chênh lệch giữa du và dv là giá trị |du−dv|.

Yêu cầu: Biết tọa độ các đỉnh hình chữ nhật mặt nền tương ứng của các tòa nhà, hãy giúp Alice tìm cặp tòa nhà (u,v) có lối đi tắt độc đạo sao cho khoảng chênh lệch giữa du và dv là nhỏ nhất.

Dữ liệu vào

  • Dòng thứ nhất chứa một số nguyên dương n là số lượng tòa nhà cao tầng;
  • Dòng thứ i trong số n dòng tiếp theo chứa 4 số nguyên không âm xi,yi,pi,qi với (xi,yi) là tọa độ của đỉnh trái trên và (pi,qi) là tọa độ của đỉnh phải dưới của hình chữ nhật biểu thị mặt nền tòa nhà thứ i trên bản đồ quy hoạch. Dữ liệu đảm bảo xi<pi và yi>qi và hai hình chữ nhật bất kỳ có thể tiếp xúc nhưng không giao nhau.

Các số trên cùng một dòng cách nhau bởi dấu cách.

Dữ liệu ra

In ra một số nguyên duy nhất là khoảng chênh lệch nhỏ nhất tìm được. Nếu không tồn tại lối đi tắt độc đạo thì in ra số −1.

Ràng buộc

  • 1≤n≤105;
  • 0≤xi<pi≤109, 0≤qi<yi≤109;
  • Hai hình chữ nhật bất kỳ có thể tiếp xúc (chung cạnh hoặc chung đỉnh) nhưng phần trong không giao nhau.

Subtasks

  • Subtask 1 (30% số test, 30% số điểm): n≤103, các tọa độ không vượt quá 109;
  • Subtask 2 (30% số test, 30% số điểm): n≤105, các tọa độ không vượt quá 103;
  • Subtask 3 (40% số test, 40% số điểm): n≤105, các tọa độ không vượt quá 109.

Ví dụ

Input Output Giải thích
6
1 3 4 1
4 1 8 0
6 2 9 1
4 4 8 2
5 6 7 4
6 7 9 6
2 Có 2 lối đi độc đạo là lối đi giữa cặp tòa nhà (4,5) và (5,6). Nếu đóng cửa lối đi độc đạo qua (4,5), ta có d4=4 và d5=2, do đó |d4−d5|=2. Nếu đóng cửa lối đi độc đạo qua (5,6), ta có d5=5 và d6=1, do đó |d5−d6|=4.
4
0 1 1 0
1 2 2 1
2 3 3 2
2 2 3 1
2 Ví dụ thêm (không có trong đề gốc). Tòa nhà 1 và 2 chỉ chung một đỉnh (1,1) nhưng vẫn liền kề; tương tự tòa nhà 2 và 3 chung đỉnh (2,2). Tòa nhà 4 liền kề với 2 và 3 (chung cạnh). Chỉ lối đi (1,2) là độc đạo: d1=1, d2=3, chênh lệch 2.

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0