问题 4890 --网络热门生物鉴定Ⅳ

4890: 网络热门生物鉴定Ⅳ★★★

时间限制: 1 Sec  内存限制: 256 MB
提交: 156  解决: 41
[提交][状态][命题人:]

题目描述

Bogo 排序(Bogo Sort)也被称为“愚蠢的排序”,是一种非常简单但低效的排序算法,就是不断打乱元素的顺序,直到达到有序为止。又称为猴子排序(Monkey Sort),就像是请猴子帮忙排序一样。
有一天,小亮遇到了一只聪明的黑猩猩,它说它会猩猩排序,请你帮小亮鉴定下猩猩排序能否成功。

给定大小为 n 的排列 a[] 。从 1 到 n 的每个整数恰好在排列 a[] 中各出现一次。对于某些索引 i (1≤i≤n-1) ,猩猩可以将第 i 个元素与第 i+1 个元素交换,并且可以交换任意次数,但无法交换其他相邻索引的的元素。问猩猩能否通过若干次的交换,将 a[] 从小到大排序?

输入

第一行包含一个整数 n (2≤n≤200 000) ,表示 a[] 的大小。
第二行包含 n 个整数 a[1],a[2],...,a[n] (1≤a[i]≤200 000) ,表示每个元素,保证 1 到 n 中每个整数只出现一次。
第三行包含一个长度为 n-1 的字符串,每个字符是 '0' 或 '1' 。如果第 i 个字符是 1 ,则可以将第 i 个元素与 第 i+1 个元素交换任意次,反之不能交换第 i 个元素与 第 i+1 个元素。

输出

如果可以将 a[] 从小到大排序,则输出 YES ,否则输出 NO 。
样例输入
Copy
6
1 2 5 3 4 6
01110
样例输出
Copy
YES

提示

样例输入2
6
1 2 5 3 4 6
01010

样例输出2
NO

在第一组样例中,可以交换 a[3] 和 a[4] ,再交换 a[4] 和 a[5] 。

来源

[提交][状态]