栈排序
时间限制:1秒 内存限制:256M
【题目描述】
HMY现在碰到了一个棘手的问题,有 \(N\) 个整数需要排序。HMY手头能用的工具就是若干个栈。她需要依次处理这 \(N\) 个数,对于每个数,HMY 能做以下两件事:
1. 新建一个栈,并将当前数作为这个栈中的唯一的数;
2. 将当前数放入已有的栈的栈顶。
对所有的数处理完成之后,HMY将这些栈排序后依次弹出每个栈里的元素后就可以得到一个非降的序列。
【输入格式】
第一行包含一个整数 \(N\),表示整数的个数。
接下来的 \(N\) 行每行包含一个整数 \(D_i(|D_i|<=2^{31}-1)\),其中 \(D_i\) 表示所需处理的整数。
【输出格式】
只包含一行,为HMY最少需要的栈的数目。
【输入输出样例】
Input
6
9
3
6
0
6
3
Output
2
【数据限制】
对于 \(30\%\) 的数据,\(1≤N≤5000\)0。
对于 \(100\%\) 的数据,\(1≤N≤200000\)。
【来源】
Mr.he