60039 호숫가의 개미굴 Gold II

시간 제한: 2초 (추가 시간 없음) 메모리 제한: 1024MB

문제

KOI 호숫가에 여러 개미가 모여 사는 개미굴이 있다. 개미굴은 둥근 호수의 둘레를 따라 11부터 NN까지의 번호가 붙은 NN개의 방이 차례대로 원형으로 배치되어 있으며, 모든 ii (1iN11 \le i \le N-1)에 대해 ii번째 방과 i+1i+1번째 방이, 그리고 NN번째 방과 11번째 방이 통로로 직접 연결되어 있는 형태였다.

하지만 여러 이유로 인해 각 방에서 몇 개의 쪽방이 갈라지기 시작해서, 현재는 모든 ii (1iN1 \le i \le N)에 대해, 개미굴의 ii번째 방에 CiC_i개의 쪽방이 통로로 직접 연결되어 있다. ii번째 방과 연결된 쪽방은 ii번째 방 이외에 다른 방과 통로로 연결되어 있지 않다.

예를 들어 N=7N = 7이고, C=[3,0,0,1,0,2,0]C = [3,0,0,1,0,2,0]인 개미굴은 아래 그림과 같은 형태이다.

개미굴의 각 방과 쪽방에는 최대 한 마리의 개미가 살 수 있다. 만약 통로로 직접 연결되어 있는 두 곳(방 또는 쪽방) 모두에 개미가 살고 있다면, 두 개미는 서로 불편해한다. 이러한 불편함을 방지하기 위해, 현재 개미굴의 각 통로가 직접 연결하는 두 곳 중 최대 한 곳에만 개미가 살고 있다.

개미들은 똑똑하기 때문에, 이 조건을 만족하는 하에 최대한 많은 수의 개미들이 현재 개미굴에 살고 있다고 한다. 현재 개미굴의 구조가 주어질 때, 개미굴에 살고 있는 개미의 수를 구하는 프로그램을 작성하라.

입력

첫 번째 줄에 정수 NN이 주어진다.

두 번째 줄에 각 방과 연결된 쪽방의 개수를 의미하는 NN개의 정수 C1,C2,,CNC_1, C_2, \cdots, C_N이 공백으로 구분되어 주어진다.

출력

첫 번째 줄에 개미굴에 살고 있는 개미의 수를 출력한다.

제한

  • 주어지는 모든 수는 정수이다.
  • 2N2500002 \leq N \leq 250\,000
  • 0Ci10120 \leq C_i \leq 10^{12} (모든 1iN1 \le i \le N)

서브태스크

번호배점제한
14N=2N = 2
28N1000N \leq 1\,000이고, Ci=0C_i = 0 (모든 1iN1 \le i \le N)
314N1000N \leq 1\,000이고, Ci1C_i \leq 1 (모든 1iN1 \le i \le N)
415N1000N \leq 1\,000
520Ci1C_i \leq 1 (모든 1iN1 \le i \le N)
613Ci1000C_i \leq 1\,000 (모든 1iN1 \le i \le N)
79Ci1C_i \geq 1 (모든 1iN1 \le i \le N)
817추가 제약 조건 없음.

예제 입출력

예제 입력 1
4
1 0 1 0
예제 출력 1
4
예제 입력 2
4
1 1 1 1
예제 출력 2
4
예제 입력 3
2
0 0
예제 출력 3
1
예제 입력 4
7
3 0 0 1 0 2 0
예제 출력 4
9

출처

올림피아드 한국정보올림피아드 KOI 2023 2차 초등부 3번 중등부 2번
solution.cpp
에디터 불러오는 중...