만드는 중입니다

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

조각별 선형성

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

요약
x좌표가 증가하는 n+1개 점으로 주어진 구간별 선형 함수를 |x - a_i| 꼴 항의 실수 선형결합으로 나타낼 수 있는지 판정한다.
난이도

어려움10점 중 8점

유형
수학, 기하, 구현
정답자
아직 제출이 없습니다

문제

Alice는 선형 함수와, 항상 신비롭게도 곧게 뻗은 그 그래프에 푹 빠져 있다. 최근 그녀는 함수 f(x)=∣x−1∣f(x) = |x-1|의 그래프를 보고 크게 감동했다. 선분이 하나뿐인 게 아니라 둘이라서 두 배로 신비롭고 아름다웠기 때문이다!

Alice는 곧바로 선형 함수보다 n≥2n \geq 2배 더 신비로운 함수를 떠올렸다. 구체적으로 그녀는 그래프가 nn개의 선분으로 이루어진 조각별 선형 함수 f(x)f(x)를 생각해 냈다. 함수 f(x)f(x)는 그래프 위의 n+1n+1개 점 P0,P1,…,Pn−1,PnP_0, P_1, \ldots, P_{n-1}, P_n으로 정의되며, 이 점들로부터 다음과 같이 복원할 수 있다. 함수 f(x)f(x)의 그래프는 두 반직선 P1P0P_1 P_0, Pn−1PnP_{n-1} P_n과 n−2n-2개의 선분 P1P2P_1 P_2, …\ldots, Pn−2Pn−1P_{n-2} P_{n-1}로 이루어진 꺾은선이다. 각 점 PiP_i는 정수인 데카르트 좌표 (xi,yi)(x_i, y_i)로 정의된다. 11과 nn 사이의 모든 ii에 대해 xi>xi−1x_i > x_{i-1}임이 보장된다. 즉 주어진 꺾은선은 어떤 함수 f(x)f(x)의 그래프이다. 자세한 내용은 힌트를 참고하라.

이제 Alice는 자신의 함수 f(x)f(x)를 ∣x−ai∣|x - a_i| 꼴 항들의 선형 결합으로 나타낼 수 있는지 묻는다. 형식적으로, 다음 등식이 성립하도록 하는 실수 수열 λ1,λ2,…,λm\lambda_1, \lambda_2, \ldots, \lambda_m과 a1,a2,…,ama_1, a_2, \ldots, a_m이 존재하는지 판별하라.

f(x)=∑i=1mλi∣x−ai∣f(x) = \sum\limits_{i=1}^m \lambda_i |x - a_i|

입력

첫째 줄에 Alice 함수의 그래프인 꺾은선의 선분 개수 nn (2≤n≤100 0002 \leq n \leq 100\,000)이 주어진다.

다음 n+1n+1개 줄(0부터 인덱스가 매겨진다)의 ii번째 줄에 점 PiP_i의 좌표 xix_i, yiy_i (−106≤xi,yi≤106-10^6 \leq x_i, y_i \leq 10^6)가 주어진다.

x0<x1<…<xnx_0 < x_1 < \ldots < x_n임이 보장된다.

출력

f(x)f(x)를 ∣x−ai∣|x - a_i| 꼴 항들의 선형 결합으로 나타낼 수 있으면 "Yes"를, 아니면 "No"를 출력한다.

힌트

예제에 대한 그림은 다음과 같다.

예제3

  1. 예제 1

    입력
    2
    -1 2
    1 0
    2 1
    
    예상 출력
    Yes
    
  2. 예제 2

    입력
    3
    -3 -1
    -1 -1
    1 1
    4 1
    
    예상 출력
    Yes
    
  3. 예제 3

    입력
    3
    -3 1
    -2 0
    0 1
    1 1
    
    예상 출력
    No