붐힐 마을 경비 활동

NYPC 2024 · 본선

붐힐 마을 주변 바다에서 배찌와 다오 친구들은 불법 물풍선 투척, 아이템 밀수, 무단 맵 침입 등을 감시하기 위해 해안선 경비대를 꾸렸다. 해안선 경비대는 바다의 가상 수평선 위의 특정 위치에 물풍선을 설치하고 정박하며 해안선을 감시한다.

해안선은 꺾은선 SS로 표현할 수 있는데, 꺾은선이란 xx좌표가 오름차순으로 정렬된 평면상의 점 p1,p2,,pNp_1, p_2, \cdots, p_N에 대해, 인접한 두 점 pip_ipi+1p_{i+1}을 선분으로 이은 선분들의 집합을 의미한다. 편의상, 이 NN 개의 점을 꺾은선 SS의 꼭짓점이라고 하자.

평면상에 수평선분 LL이 존재하며, 해안선 경비대원은 수평선분 LL 위의 한 점으로 나타낼 수 있다. 이때, 수평선분 LL의 양 끝점의 xx좌표는 p1p_1pNp_Nxx좌표와 일치한다. 또한, 수평선분 LLyy좌표는 00이며, 꺾은선 SS의 모든 꼭짓점의 yy좌표는 00보다 크다.

꺾은선 SS의 꼭짓점은 해안선의 변화점으로, 불법 활동이 발생하기 쉬운 지점이므로 해안선 경비대의 각별한 주의와 감시가 필요하다. 따라서, 수평선분 LL 위에 적절히 해안선 경비대원을 배치하여 모든 꼭짓점을 감시할 수 있어야 한다. 수평선분 LL 위의 해안선 경비대원이 꺾은선 SS의 꼭짓점을 감시할 수 있으려면, 해안선 경비대원을 나타내는 점과 꼭짓점을 잇는 선분이 양 끝점을 제외하고 꺾은선 SS와 만나서는 안 된다.

왼쪽 그림은 해안선을 표현하는 꺾은선 SS와 해안선 경비대원이 위치할 수 있는 수평선분 LL을 나타낸 것이다. 오른쪽 그림에서, pp 위치에 해안선 경비대원이 있을 때, 77 개의 꼭짓점을 감시할 수 있다. 마찬가지로, qq 위치에 해안선 경비대원이 있을 때도 77 개의 꼭짓점을 감시할 수 있다. 감시할 수 있는 꼭짓점은 각각 빨간색 점선과 파란색 점선으로 연결되어 있다.

꺾은선 SS의 모든 꼭짓점을 감시할 수 있는 최소 해안선 경비대원의 수를 구하는 프로그램을 작성하라.

입력 형식

첫 줄에 꺾은선 SS의 꼭짓점의 수를 나타내는 정수 NN이 주어진다. (2N5000002 \le N \le 500\,000)

이어지는 NN 개의 줄의 ii 번째 줄에는 꺾은선 SS의 꼭짓점 pip_ixx좌표와 yy좌표를 나타내는 두 정수 xix_iyiy_i가 공백으로 구분되어 주어진다. (0xi1000000000;0 \le x_i \le 1\,000\,000\,000; 1yi1000000000;1 \le y_i \le 1\,000\,000\,000; x1=0x_1 = 0)

11 이상 N1N-1 이하인 ii에 대하여, xi<xi+1x_i < x_{i+1}을 만족하고, 11 이상 N2N-2 이하인 ii에 대하여, pip_i, pi+1p_{i+1}, pi+2p_{i+2}가 한 직선 위에 있지 않음이 보장된다.

출력 형식

첫 줄에 꺾은선 SS의 모든 꼭짓점을 감시할 수 있는 최소 해안선 경비대원의 수를 출력한다.

예제

입력

10 0 9 2 3 5 10 7 9 10 2 11 10 14 11 17 10 18 3 20 2

출력

2

예제 설명

입력 예제의 상황은 본문의 그림과 같다. 그림에서 pp 위치와 qq 위치에 해안선 경비대원이 있으면, 꺾은선 SS의 모든 꼭짓점을 감시할 수 있다. 한 명의 해안선 경비대원으로 모든 꼭짓점을 감시할 수는 없다.

채점 방식

입력 케이스들은 다음과 같은 종류로 구별되며, 한 종류의 케이스를 다 맞혀야 그 종류에 배정된 점수를 받을 수 있다.

종류 1: 25

N500N \le 500

종류 2: 40

N3000N \le 3\,000

종류 3: 35

추가적인 제한 조건이 없음.

해설