만드는 중입니다

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

수영장

면접 대비

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

요약
주어진 N개의 거리 기록을 만들어 내는 최소 수영 길이 수를 구합니다.
난이도

보통10점 중 5점

유형
그리디, 구현
정답자
아직 제출이 없습니다

문제

Bajtek은 방수 스마트워치를 샀다. 그는 작동하는지 확인하려고 곧바로 수영장에 갔다. 이 시계는 조금 특이하게 동작한다. 여러 시점에 Bajtek이 수영장의 시작점, 즉 출발한 쪽 가장자리로부터 얼마나 떨어져 있는지를 기록한다. Bajtek은 시계에 기록된 연속된 거리 값을 읽었지만, 그 값을 어떻게 해석해야 할지 모른다. 그는 수영한 수영장 길이의 최소 개수를 알고 싶어 한다.

Bajtek은 수영장 끝에 도달했을 때만 방향을 바꾼다고 가정할 수 있다. 또한 그는 가장자리에서 출발해서 가장자리에서 끝낸다. 시계가 이를 기록하지 않았더라도 그렇다. Bajtek은 가끔 쉬려고 멈출 수 있으며, 그 위치가 반드시 수영장 가장자리일 필요는 없다.

입력

첫 번째 줄에 자연수 NN (1≤N≤1 000 0001 \le N \le 1\,000\,000)이 주어진다. 이는 시계의 판독값 개수이다. 두 번째 줄, 즉 마지막 줄에는 NN개의 정수 P1,P2,…,PNP_1, P_2, \ldots, P_N (0≤Pi≤1090 \le P_i \le 10^9)이 주어진다. 이는 수영장의 한 기준 가장자리로부터 차례로 측정한 거리이다. P1,P2,…,PNP_1, P_2, \ldots, P_N 중 적어도 하나는 0이 아니다.

출력

Bajtek이 수영한 수영장 길이의 최소 개수를 정수 하나로 출력한다.

예제3

  1. 예제 1

    입력
    7
    3 7 11 11 6 2 4
    
    예상 출력
    3
    
  2. 예제 2

    입력
    9
    1 2 3 4 5 4 3 2 1
    
    예상 출력
    2
    
  3. 예제 3

    입력
    6
    28 28 28 28 28 28
    
    예상 출력
    1