给出一个长度为 n+1n+1n+1 的序列 a0,a1,a2,......,ana_0,a_1,a_2,......,a_na0,a1,a2,......,an。是否存在一棵二叉树,使得,对于任何一个深度 d∈[0,n]d\in[0,n]d∈[0,n],树上恰好有 ada_dad 个深度为 ddd 的点是叶子,且这棵二叉树的深度为 nnn(根节点的深度为0),若存在,输出二叉树的最大节点数,若不存在输出"-1".
二叉树的深度定义为其中节点的最大深度.
第一行一个正整数 nnn.
接下来一行 n+1n+1n+1 个非负整数,表示 a0,a1,......,ana_0,a_1,......,a_na0,a1,......,an.
一行一个整数表示答案.
3 0 1 1 2
7
4 0 0 1 0 2
10
2 0 3 1
-1
1 1 1
10 0 0 1 1 2 3 5 8 13 21 34
264
0≤n≤1050\leq n\leq 10^50≤n≤105
0≤ai≤1080\leq a_i\leq 10^80≤ai≤108
1≤an1\leq a_n1≤an