#joi2018yob. [joi2018_yo_b]双六 (Sugoroku)

[joi2018_yo_b]双六 (Sugoroku)

问题描述

JOI 君在叔叔的家里找到了一副六子棋游戏。六子棋由 N+2N+2 个直线状排列的格子组成,第一个格子是起点,第 N+2N+2 个格子是终点。每个格子上都写着数字 0011,对于每个 ii (1iN1≦i≦N),第 i+1i+1 个格子上写着数字 AiA_i

在六子棋中,首先将棋子放在起点格子上,然后掷骰子,根据所掷出的数目前进相应的格子。但是,如果停在写着数字 11 的格子上,则游戏失败。如果能够到达终点格子而不失败,或者经过终点格子,那么游戏成功。

JOI 君决定去玩六子棋的玩具店购买骰子。玩具店有 N+1N+1 个骰子出售。第 jj 个 (1jN+11≦j≦N+1) 骰子有 jj 个面,写着 1,2,...,j1,2,...,j

JOI 君决定购买能够成功完成游戏的骰子中面数最少的骰子。他应该购买哪个骰子呢?

约束条件

  • 1N1001≦N≦100
  • 0Ai10≦A_i≦1 (1iN1≦i≦N)

输入

输入以以下格式从标准输入中给出。

NN A1A_1 A2A_2 ... ANA_N

输出

输出JOI君应该购买的骰子的面数。


输入示例 1

5
0 1 0 0 0

输出示例 1

2

六子棋有 77 个格子,只有第 33 个格子上写着数字 11。如果使用面数为 22 的骰子,例如掷出的数目依次为 1,2,1,1,11,2,1,1,1,那么游戏可以成功完成。因此输出最小值 22


输入示例 2

5
1 1 1 1 1

输出示例 2

6

六子棋有 77 个格子,除了起点和终点之外的所有格子上都写着数字 11。在这种情况下,需要 66 面的骰子。因此输出最小值 66


输入示例 3

7
0 0 1 0 1 1 0

输出示例 3

3