만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

가장 큰 정사각형

시간 제한8초메모리 제한512 MB

요약
직교 다각형과 질의 점들이 주어질 때, 각 점을 왼쪽 아래 꼭짓점으로 하는 내부 최대 정사각형의 한 변 길이를 구합니다.
난이도

어려움10점 중 9점

유형
기하, 세그먼트 트리, 이분 탐색
정답자
아직 제출이 없습니다

문제

그레테에게 꼭짓점이 nn개인 다각형이 있다. 다각형의 모든 변은 좌표축과 평행하고, 인접한 두 변은 서로 수직이다. 이 다각형은 단순 다각형이어서 자기 교차도, 자기 접촉도 없다.

그레테는 mm개의 질의를 받는다. 각 질의에서는 다각형 내부의 점 (ui,vi)(u_i, v_i)가 주어진다. 그레테는 이 점을 왼쪽 아래 꼭짓점으로 하고, 다각형 내부에 들어가는 가장 큰 정사각형의 한 변의 길이를 구하려 한다.

입력

입력은 여러 개의 테스트 케이스로 이루어지며 파일의 끝(EOF)에서 끝난다. 각 테스트 케이스의 형식은 다음과 같다.

첫 줄에는 꼭짓점의 개수 nn과 질의의 개수 mm이 주어진다.

다음 nn개의 줄에는 다각형의 꼭짓점 좌표 xix_i, yiy_i가 반시계 방향 순서로 주어진다.

그다음 mm개의 줄에는 각 질의의 왼쪽 아래 꼭짓점 좌표 uiu_i, viv_i가 주어진다.

출력

각 질의마다 정수 하나를 한 줄에 출력한다. 그 값은 질의 점을 왼쪽 아래 꼭짓점으로 하는 가장 큰 정사각형의 한 변의 길이이다.

제한

  • 4≤n≤2×1054 \leq n \leq 2 \times 10^5
  • 1≤m≤2×1051 \leq m \leq 2 \times 10^5
  • −108≤xi,yi,ui,vi≤108-10^8 \leq x_i, y_i, u_i, v_i \leq 10^8
  • nn의 합과 mm의 합은 모두 2×1062 \times 10^6을 넘지 않는다.

예제1

  1. 예제 1

    입력
    4 3
    0 0
    4 0
    4 4
    0 4
    1 1
    2 2
    3 3
    12 12
    3050 2000
    2000 2000
    2000 3635
    -2000 3635
    -2000 2000
    -2590 2000
    -2590 -2000
    -2000 -2000
    -2000 -3481
    2000 -3481
    2000 -2000
    3050 -2000
    1415 -2882
    -1100 498
    -827 -3331
    -114 -542
    -1887 3485
    -1606 -1463
    -768 880
    -1261 1180
    330 2648
    -1017 -2886
    -1213 -585
    -2025 -1966
    
    예상 출력
    3
    2
    1
    585
    3100
    2827
    2542
    150
    3606
    2755
    2455
    987
    3017
    3213
    3966