1391: 正确的排队

Memory Limit:512 MB Time Limit:3.000 S
Judge Style:Text Compare Creator:
Submit:3 Solved:0

Description

    节假日的景区总是十分热闹,游客们分成了许多个团体,每个团体的导游可能在第一位或最后一位,他手上拿着这个团体的所有门票(导游本身不需要门票,其他游客每人需要一张门票)。每个团体之间可能隔着空隙也可能紧挨在一起。但检票员ILECY发了愁,面对眼前排得长长的队伍,他给你一串代表队伍的数列,数列中代表导游的数字表示该导游手上持有的门票数,而代表游客的数字表示该游客的编号。请你帮忙统计这些团体是否都购买了正确数量的门票。
例如:4 7 3 5 2 1 9 2  这个队伍的门票数是正确的,红色团体的导游在第一位,蓝色团体的导游在最后一位。
          3 1 3 0 0 1 9 2  这个队伍的门票数是正确的,红色团体的导游在第一位,蓝色团体的导游在最后一位,中间隔了一个空位。

Input

共两行

第一行包含一个数字 n,表示队伍的总长度 $(1\leqslant n \leqslant 10^7)$

第二行包含 n 个数字  $a1,a2, ... , an$ $( 0\leqslant ai \leqslant 10^9)$ ,表示队伍的情况,0 可以代表隔了一个空位或一个人的编号

Output

如果队伍中所有团体都购买了正确数量的门票,输出"YES",否则输出"NO"

Sample Input Copy

9
2 5 6 0 0 2 8 4 3

Sample Output Copy

YES

HINT

样例解释

2 5 6为一个团体,导游在第一位;

2 8 4 3为一个团体,导游在第四位。

如果算法复杂度没有问题却时间超限,请使用更快的读入方法。

Source/Category