#P1211. 小埋与瑞克
小埋与瑞克
说明
众所周知,小埋(うまる)在外面是个窈窕淑女,但是回到家里就变成仓鼠埋了,贯彻着“吃睡玩”三连击的生活,这令作为哥哥的我十分头疼。
现在,小埋有 n(n<=1e5)件事要做,打游戏,看漫画,喝可乐......她为这 n 件事定了一个重要程度,1 级最高,n 级最低。小埋需要从高到低依次做这 n 件事,但哥哥却总是在小埋做大事的时候打扰她,使得小埋不能依次从 1~n 做这 n 件事,但为了不惹哥哥生气,小埋不得不找到瑞克借来传送枪。
小埋可以通过传送枪将现在还不能做的事情跳过,比如小埋现在把前 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。
输入格式
一个 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
7,6不能做,传送跳过,此时,传送未做:7,6,使用2次
1做了,下一个要做2
3不能做,跳过,此时:7,6,3,使用3次
2做了
传送回3,此时:7,6,使用4次
5跳过,此时:7,6,5,使用5次
4做了
传送回5,此时:7,6,使用6次
6,7传送回去做掉,使用8次
所以,传送枪使用了8次
对样例二:
跳3,做1,跳5,跳4,做2
此时:3,5,4
小埋不能传送回3来做,所以输出-1