trang chủ / bài tập / fencinggo

Rào Đàn Bò (Gold)

Đề bài

Mô tả

Cho N con bò tại các tọa độ nguyên và Q truy vấn. Mỗi truy vấn là một trong hai loại:

  • Loại 1 (1 x y): Thêm con bò mới tại tọa độ (x,y).
  • Loại 2 (2 A B C): Kiểm tra xem hàng rào Ax+By=C có "dùng được" không, tức là tất cả các con bò hiện có đều nằm cùng một phía của hàng rào. Con bò nằm đúng trên hàng rào (thỏa mãn Ax+By=C) khiến hàng rào không dùng được.

Với mỗi truy vấn loại 2, in ra YES hoặc NO.

Dữ liệu vào

  • Dòng 1: NQ.
  • N dòng tiếp theo: tọa độ (xi,yi) của từng con bò ban đầu.
  • Q dòng tiếp theo: các truy vấn.

Dữ liệu ra

Với mỗi truy vấn loại 2, in YES hoặc NO trên một dòng.

Ràng buộc

  • 1N,Q105
  • |x|,|y|109
  • |A|,|B|109, |C|1018, AB không đồng thời bằng 0

Ví dụ

Input Output Giải thích
3 4
0 0
0 1
1 0
2 2 2 3
1 1 1
2 2 2 3
2 0 1 1
YES
NO
NO
Ba con bò đầu có max(2x+2y)=2<3 nên cả đàn nằm dưới hàng rào: YES. Thêm bò (1,1): lúc này max=43min=03, hàng rào cắt qua đàn: NO. Với y=1 thì hai con bò (0,1)(1,1) nằm đúng trên hàng rào: NO
1 1
0 0
2 1 1 0
NO Con bò duy nhất (0,0) thỏa mãn x+y=0, tức là nằm ngay trên hàng rào nên hàng rào không dùng được

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.400 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.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0