#P1211. 小埋与瑞克

小埋与瑞克

说明

众所周知,小埋(うまる)在外面是个窈窕淑女,但是回到家里就变成仓鼠埋了,贯彻着“吃睡玩”三连击的生活,这令作为哥哥的我十分头疼。

image.pngimage.png

现在,小埋有 n(n<=1e5)件事要做,打游戏,看漫画,喝可乐......她为这 n 件事定了一个重要程度,1 级最高,n 级最低。小埋需要从高到低依次做这 n 件事,但哥哥却总是在小埋做大事的时候打扰她,使得小埋不能依次从 1~n 做这 n 件事,但为了不惹哥哥生气,小埋不得不找到瑞克借来传送枪。

image.png

小埋可以通过传送枪将现在还不能做的事情跳过,比如小埋现在把前 i 级事情做完了,而此时哥哥叫小埋吃饭了,而吃饭被小埋定义为 i+4级,现在还不能做,所以小埋使用传送枪把吃饭这一件事传送跳过,等把 i+1,i+2,i+3 做完后,小埋可以继续使用传送枪把 i+4 做掉。

然鹅,瑞克的为了维护时空,规定小埋只能先传送到最新跳过的事情,才能继续传送至之前跳过的。比如,小埋把 i+4 跳过了,又遇到 i+3不能做,跳过,因此,小埋传送有 i+4,i+3,而小埋只能先传送回 i+3,做完,才能传送至 i+4 做掉。

现在,小埋问你,她使用了多少次传送枪,这样,瑞克好给她准备传送液。如果不能依次从 1~n 做完这些事,她就会化身 UMR,去祸害游戏厅,同时,你需要输出 -1。

image.png

输入格式

一个 n,表示有 n 件事,之后一行 n 个数,表示小埋为这 n 件事定的级别,从 1~n,且不相同

输出格式

一个数,小埋需使用了多少次传送枪,或者 -1

样例

7
7 6 1 3 2 5 4
8

样例

7
3 1 5 4 2 6 7
-1

提示

对样例一:

首先需做1

76不能做,传送跳过,此时,传送未做:76,使用2

1做了,下一个要做2

3不能做,跳过,此时:763,使用3

2做了

传送回3,此时:76,使用4

5跳过,此时:765,使用5

4做了

传送回5,此时:76,使用6

67传送回去做掉,使用8

所以,传送枪使用了8


对样例二:

3,做1,跳5,跳4,做2

此时:354

小埋不能传送回3来做,所以输出-1