아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Basen

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

요약
수영장 한쪽 끝에서 잰 거리 기록이 주어질 때, 양 끝에서만 방향을 바꿨다고 가정하고 최소 몇 번의 수영장 길이를 헤엄쳤는지 구한다.
난이도

보통10점 중 5점

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

문제

Bajtek w końcu kupił sobie wodoodporny smartwatch. Od razu poszedł na basen, by sprawdzić czy działa. Okazało się, że zegarek jest dość dziwny. W różnych momentach zapisywał on jak daleko Bajtek był od początku basenu, tj. od brzegu, z którego wystartował. Bajtek odczytał ciąg kolejnych zarejestrowanych odległości z zegarka, nie bardzo rozumie jednak, jak zinterpretować ten wynik. Chciałby się dowiedzieć, ile minimalnie długości basenu przepłynął. Możesz założyć, że Bajtek zawracał jedynie po dopłynięciu do końca basenu oraz zaczynał od brzegu i kończył przy brzegu (choć nie musiał tego zarejestrować zegarek). Bajtek mógł się także czasami zatrzymywać dla odpoczynku, niekoniecznie przy brzegu basenu.

Napisz program, który: wczyta odczyty zegarka Bajtka, wyznaczy minimalną możliwą liczbę długości basenu, jakie przepłynął Bajtek i wypisze wynik na standardowe wyjście.

입력

W pierwszym wierszu wejścia znajduje się jedna liczba naturalna N, 1 ≤ N ≤ 1 000 000, określająca liczbę odczytów zegarka Bajtka. W drugim (ostatnim) wierszu wejścia znajduje się ciąg N liczb całkowitych P1, P2,. . . , PN , 0 ≤ Pi ≤ 109, określających kolejne odległości od pewnego ustalonego brzegu basenu. Możesz założyć, że co najmniej jedna liczba pośród P1, P2,. . . , PN nie będzie zerem.

제한

W pierwszym (jedynym) wierszu wyjścia powinna być jedna liczba całkowita – minimalna liczba długości basenu jakie przepłynął 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