题目描述:
节假日的景区总是十分热闹,游客们分成了许多个团体,每个团体的导游可能在第一位或最后一位,他手上拿着这个团体的所有门票(导游本身不需要门票,其他游客每人需要一张门票)。每个团体之间可能隔着空隙也可能紧挨在一起。但检票员ILECY发了愁,面对眼前排得长长的队伍,他给你一串代表队伍的数列,数列中代表导游的数字表示该导游手上持有的门票数,而代表游客的数字表示该游客的编号。请你帮忙统计这些团体是否都购买了正确数量的门票。
例如:
4 7 3 5 2 1 9 2 这个队伍的门票数是正确的,红色团体的导游在第一位,蓝色团体的导游在最后一位。
3 1 3 0 0 1 9 2 这个队伍的门票数是正确的,红色团体的导游在第一位,蓝色团体的导游在最后一位,中间隔了一个空位。
输入
共两行
第一行包含一个数字 n,表示队伍的总长度
第二行包含 n 个数字 ,表示队伍的情况,0 可以代表隔了一个空位或一个人的编号
输出
如果队伍中所有团体都购买了正确数量的门票,输出"YES",否则输出"NO"
样例输入
9
2 5 6 0 0 2 8 4 3
样例输出
YES
提示
样例解释
2 5 6为一个团体,导游在第一位;
2 8 4 3为一个团体,导游在第四位。
如果算法复杂度没有问题却时间超限,请使用更快的读入方法。
思路:遍历队伍的情况,找到导游的位置,然后判断导游前后的人数是否等于导游手上的门票数。