#1425. 卡片排序
卡片排序
题目限制
1000 ms 128 M
题目描述
假设你有编号分别为1--n的n张卡片,现在小A先打乱这些卡片的顺序(类似于扑克牌的洗牌),也就是这些卡片不一定严格按照编号1--n的顺序排序了。
然后由小C将这些卡片恢复为按照编号1--n排序。而小C比较善于动脑筋,他想到可以将此次排序分成多个小任务来完成。具体就是将这些可能乱序的卡片分成若干份(此时不能打乱卡片的现有相对顺序),然后只需要对每一份进行排序就能实现将所有的n张卡片完成排序。
请问按照小C的排序方法,最多能将卡片分成多少份就能实现排序任务?
输入格式
第一行一个数n;
第二行n个数表示a[i] ,以空格隔开,存储每张卡片的编号。
n<=100000
输出格式
输出一个数,表示最多分成的份数。
数据范围
对于20%的数据,1≤n≤20;
对于53%的数据,1≤n≤1000;
对于60%的数据,1≤n≤2000;
对于100%的数据,1≤n≤100000。
输入样例
input1:
5
5 4 3 2 1
input2:
3
3 2 1
input3:
8
3 2 1 4 8 6 5 7
输出样例
output1:
1
output2 :
1
output3:
3
样例1解释
将卷子分成2叠或者更多块,都无法得到所需的结果。
例如,分成 [5, 4], [3, 2, 1],排序得到的结果是 [4, 5,,1, 2, 3] ,这不是有序的数组。
样例3解释:
将卡片分为[3 2 1] [4] [8 6 5 7]三份,然后分别排序,即可实现完整排序,多于3份都不可能实现最终的1 2 3 4 5 6 7 8
Statistics
Related
In following contests: