P26476 [AtCoder] Folia
普及+
题目描述

Problem Statement

Given is an integer sequence of length N+1: $A_0, A_1, A_2, \ldots, A_N. Is there a$ binary tree of depth N such that, for each $d = 0, 1, \ldots, N,$ there are exactly A_d leaves at depth d? If such a tree exists, print the maximum possible number of vertices in such a tree; otherwise, print -1.

Input

Input is given from Standard Input in the following format:
N
$A_0 A_1 A_2 \cdots A_N$

Output

Print the answer as an integer.

Constraints

  • $0 \leq N \leq 10^5$
  • $0 \leq A_i \leq 10^{8} (0 \leq i \leq N)$
  • $A_N \geq 1$
  • All values in input are integers.

Sample Input 1

3
0 1 1 2

Sample Output 1

7

Below is the tree with the maximum possible number of vertices. It has seven vertices, so we should print 7.

Sample Input 2

4
0 0 1 0 2

Sample Output 2

10

Sample Input 3

2
0 3 1

Sample Output 3

-1

Sample Input 4

1
1 1

Sample Output 4

-1

Sample Input 5

10
0 0 1 1 2 3 5 8 13 21 34

Sample Output 5

264

输入格式

见题面 Input 部分

输出格式

见题面 Output 部分

样例输入
3 0 1 1 2
样例输出
7