만드는 중입니다

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

다중 일차 함수

면접 대비

시간 제한1초메모리 제한1024 MB

요약
N개의 점을 차례로 이어 만든 구간별 선형 함수에서, 각 질의 k의 기울기 부호를 구해 증가, 감소, 평탄 여부를 판별합니다.
난이도

쉬움10점 중 3점

유형
이분 탐색, 배열
정답자
아직 제출이 없습니다

문제

2차원 좌표 평면에 점 NN개가 주어진다. ii번째 점의 좌표는 (xi,yi)(x_i, y_i)이며, 1≤i<N1 \leq i < N인 모든 ii에 대하여 xi<xi+1x_i < x_{i+1}이다. 점 ii와 점 i+1i+1을 잇는 일차 함수가 그려진다. 구간 (x1,x2),(x2,x3),⋯ ,(xN−1,xN)(x_1, x_2), (x_2, x_3), \cdots, (x_{N-1}, x_N)에서 각각 정의되는 N−1N-1개의 일차 함수를 합쳐 F(x)F(x)라고 하자.

예를 들어 점이 (0,0)(0, 0), (1,5)(1,5), (2,4)(2,4), (3,3)(3,3), (6,10)(6,10)으로 주어지면 그려지는 함수는 다음과 같다.

질의마다 실수 kk가 주어진다. x=kx=k에서 함수 F(x)F(x)가 증가하는지 감소하는지 구하라.

입력

첫 번째 줄에 점의 개수 NN이 주어진다. (2≤N≤100 000)(2\leq N \leq 100\,000)

두 번째 줄부터 NN개의 줄에 걸쳐 점의 좌표 xi,yix_i, y_i가 공백으로 구분되어 주어진다. (−109≤xi,yi≤109; xi<xi+1)(-10^9 \leq x_i, y_i \leq 10^9;\ x_i < x_{i + 1})

N+1N+1번째 줄에 질의의 개수 QQ가 주어진다. (1≤Q≤100 000)(1 \leq Q \leq 100\,000)

N+2N+2번째 줄부터 QQ개의 줄에 걸쳐 질의 정보 kk가 주어진다. (x1<k<xN; k≠xi)(x_1 < k < x_N;\ k \neq x_i)

xix_i, yiy_i는 정수이고, kk는 소수점 아래 최대 한 자리까지 주어진다.

출력

kk가 속하는 일차 함수가 증가 함수면 11, 감소 함수면 −1-1, 둘 다 아니면 00을 질의 순서대로 한 줄에 하나씩 출력한다.

예제1

  1. 예제 1

    입력
    5
    0 0
    1 5
    2 5
    3 3
    6 10
    3
    2.5
    4
    1.5
    
    예상 출력
    -1
    1
    0