만드는 중입니다

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

분수 계산

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

요약
0 이상 1 미만의 정렬된 분수 N개를 원 위의 점으로 보고, 모든 쌍의 원형 거리 합이 더 큰 수열 B가 있는지 판별합니다.
난이도

어려움10점 중 8점

유형
수학, 정렬, 그리디
정답자
아직 제출이 없습니다

문제

0 이상 1 미만인 두 수 xx, yy의 거리 d(x,y)d(x, y)를 다음과 같이 정의한다.

d(x,y)=min⁡{∣x−y∣,1−∣x−y∣}d(x, y) = \min \left\{ |x-y|, 1 - |x-y| \right\}

0≤A1≤A2≤⋯≤AN<10 \le A_1 \le A_2 \le \cdots \le A_N < 1을 만족하는 길이 NN의 수열 AA에 대하여, 분포 정도 f(A)f(A)를 다음과 같이 정의한다.

f(A)=∑1≤i<j≤Nd(Ai,Aj)f(A) = \sum_{1 \le i < j \le N} d(A_i, A_j)

길이 NN인 수열 AA가 주어질 때, AA보다 분포 정도가 큰 길이 NN의 수열이 존재하는지 판별하는 프로그램을 작성하시오. 즉, f(A)<f(B)f(A) < f(B)를 만족하는 길이 NN의 수열 BB가 존재하는지 확인한다.

입력

첫 번째 줄에 수열의 길이 NN이 주어진다. 두 번째 줄에는 NN개의 유리수 A1,A2,⋯ ,ANA_1, A_2, \cdots, A_N이 공백으로 구분되어 주어진다.

각 유리수는 "pp / qq" 형태로 주어지며, 이는 그 수가 pq\frac{p}{q}임을 뜻한다. 여기서 pp와 qq는 정수이며, 0≤p<q≤1090 \le p < q \le 10^9이다.

출력

AA보다 분포 정도가 큰 길이 NN의 수열이 존재하면 첫 번째 줄에 "YES"를 출력한다. 그렇지 않으면 첫 번째 줄에 "NO"를 출력한다.

제한

모든 입력 데이터는 다음 조건을 만족한다.

  • 2≤N≤1062 \le N \le 10^6
  • 0≤Ai<10 \le A_i < 1 (1≤i≤N)(1 \le i \le N)
  • Ai≤Ai+1A_i \le A_{i+1} (1≤i<N)(1 \le i < N)

예제3

  1. 예제 1

    입력
    2
    0/1 1/2
    
    예상 출력
    NO
    
  2. 예제 2

    입력
    2
    0/1 2/3
    
    예상 출력
    YES
    
  3. 예제 3

    입력
    3
    0/1 1/6 1/3
    
    예상 출력
    YES