#z1072. 快速队列
快速队列
题目描述
一开始,同学们是随便站队的。由于大多数同学都比较懒不太爱动,体育老师只能执行一种操作:把最右边的同学移动到最左边。
现在需要你写一个程序帮体育老师算一算,他能不能成功地让队伍从低到高排列。
输入格式
第一行一个正整数 n,表示一共有 n 个同学。
第二行一共 n 个整数 h[1] 到 h[n],表示从左到右每一个同学的身高。
输出格式
如果体育老师能够通过若干次移动使得队伍从左到右身高递增,则输出需要移动的最小次数。
如果只凭借该操作无法让同学们按身高排队,则输出 -1。
输入输出样例
输入样例 #1
``` 5 160 165 170 145 150 ```
输出样例 #1
``` 2 ```
样例说明 #1
第一次将身高 150 的同学移动到最左边。
第二次将身高 145 的同学移动到最左边。
此时队伍变为:145\ 150\ 160\ 165\ 170,满足从左到右身高递增。
说明/提示
数据范围
对于 50\% 的数据,1<=n<=1000,1<= h[i] <=200。
对于 100\% 的数据,1<=n <=1000000,1<=h[i] <= 2000000。
如果有身高相等的同学,则两人排队顺序无所谓。