Preparing NOJ
openxxx喜欢一切有序的事物,现在有一串数字,openxxx希望对这串数字从小到大进行排序(实现非递减序)。
openxxx可以交换任意两个数字,每做一次交换,就要消耗openxxx一格体力值,openxxx希望恰好在消耗了K格体力值的情况下完成排序,请你判断是否可能存在这样的情况。
多组测试数据,每组数据第一行包含一个正整数N(1<=N<=500)表示这串数字的个数,第二行包含N个正整数恰好是1~N的某一排列,相邻数字之间用一个空格隔开。第三行包含一个正整数M(1<=M<=500),接下来M行,每行包含一个非负整数K(0<=K<=50000),其含义见题目描述。
每组测试数据对应M行输出,每行输出一个字符串 “YES”或者“NO”(不包括双引号),存在恰好消耗了K格体力值的情况下完成排序则输出“YES”,否则输出“NO”。
2
2 1
2
0
1
NO
YES
本题由旧版NOJ导入,来源:2012南京邮电大学第四届大学生程序设计大赛(预赛)