#205
Unrated
캠퍼스 울타리
원문: English
시간 제한
2s
메모리 제한
1024MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%

문제

소원이는 충남대학교 캠퍼스 내에 일직선 모양의 울타리를 설치하여 학생들의 이동을 제한하려고 한다. 소원이는 여러 가지 울타리 후보지를 고려 중이며, 각 후보지가 사용 가능한지 판단하고자 한다. 모든 학생이 울타리의 같은 쪽에 있고, 어떤 학생도 울타리 바로 위에 위치하지 않을 때 그 울타리를 '사용 가능하다'고 한다. 소원이는 울타리 후보지에 대한 여러 쿼리에 답해야 하며, 사용 가능한 울타리라면 YES를, 그렇지 않다면 NO를 출력한다.

때때로 캠퍼스에 새로운 학생이 들어오기도 한다. 새로운 학생이 추가되면, 그 시점 이후의 모든 울타리 쿼리는 해당 학생을 포함한 모든 학생이 울타리의 같은 쪽에 있어야 사용 가능한 것으로 간주한다.

입력

첫째 줄에 초기 학생 수 NN과 쿼리의 수 QQ가 공백으로 구분되어 주어진다. (1N,Q1000001 \le N, Q \le 100\,000)

이어서 NN개의 줄에 초기 학생들의 위치가 주어진다. 각 줄에는 학생의 좌표를 나타내는 두 정수 xxyy가 공백으로 구분되어 주어진다.

다음 QQ개의 줄에는 새로운 학생을 추가하거나 울타리의 사용 가능 여부를 묻는 쿼리가 한 줄에 하나씩 주어진다.

  • 1 x y: (x,y)(x, y) 위치에 새로운 학생이 추가된다.
  • 2 A B C: 직선 Ax+By=CAx + By = C 형태의 울타리가 사용 가능한지 확인한다.

데이터 세트 전체에서 학생들의 위치는 모두 다르며, 109x,y109-10^9 \le x, y \le 10^9를 만족한다. 또한 울타리 쿼리는 109A,B109-10^9 \le A, B \le 10^9, 1018C1018-10^{18} \le C \le 10^{18}을 만족한다. A=B=0A = B = 0인 울타리 쿼리는 주어지지 않는다.

출력

각 울타리 쿼리에 대해, 울타리가 사용 가능하면 YES를, 그렇지 않으면 NO를 한 줄에 하나씩 출력한다.

예제 입력 1

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

예제 출력 1

YES
NO
NO
코드 제출

코드를 제출하려면 로그인이 필요합니다.

로그인
내 제출
제출 내역이 없습니다.
맞은 사람
아직 맞은 사람이 없습니다.
난이도 투표
Unrated0명 투표
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
제출 내역이 없습니다.