만드는 중입니다

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

볼록볼록

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

요약
연속된 점들 중에서 반시계 방향으로 볼록 다각형을 이루는 가장 긴 구간의 길이를 구합니다.
난이도

보통10점 중 7점

유형
배열, 투 포인터, 기하
정답자
아직 제출이 없습니다

문제

2차원 좌표평면 위에 NN개의 점 P1,P2,…,PNP_1, P_2, \ldots, P_N이 주어진다. 두 정수 ll과 rr이 다음 조건을 만족할 때, r−l+1r - l + 1의 최댓값을 구하라.

  • 1≤l<r≤N1 \le l < r \le N이고, r−l+1≥3r - l + 1 \ge 3이다.
  • Pl,Pl+1,…,PrP_l, P_{l+1}, \ldots, P_r이 반시계 방향 순서로 볼록 다각형을 이룬다. 이때 모든 내각은 180도 미만이다.

입력

첫째 줄에 점의 개수 NN이 주어진다. (3≤N≤3000003 \le N \le 300000)

둘째 줄부터 NN개의 줄에 걸쳐 두 정수 xi,yix_i, y_i가 주어진다. 이는 ii번째 점의 xx좌표와 yy좌표이다. (−109≤xi,yi≤109-10^9 \le x_i, y_i \le 10^9)

입력으로 주어지는 모든 점은 서로 다르다.

출력

조건을 만족하는 두 정수 ll과 rr에 대하여 r−l+1r - l + 1의 최댓값을 출력하라. 그런 ll과 rr이 없다면 −1-1을 출력하라.

힌트

볼록 다각형은 경계 위의 두 점을 잇는 어떤 선분도 다각형 바깥으로 나가지 않는 단순 다각형(자기교차가 없는 다각형)이다.

예제2

  1. 예제 1

    입력
    3
    1 1
    2 2
    3 3
    
    예상 출력
    -1
    
  2. 예제 2

    입력
    5
    3 1
    4 2
    5 9
    6 2
    7 4
    
    예상 출력
    3