题目描述
小思老师现在拿到了一个数字序列,这个数字序列恰好由1到n这n个数字组成,但这些数字可能没有排序。
由于小思老师平时工作比较忙,她每次只能针对这n个数的一个子区间进行排序,比如:给定一个区间[l, r],将这个区间从小到大排序,需要花费r-l+1个精力。
现在小思老师可以执行若干次这样的操作,直到这个序列中所有的数字从1到n升序排列。
小思老师想知道,她需要花费的精力最少是多少?
输入格式
本题有多组询问,第一行有一个数T表示询问组数。
对于每组询问:
第一行给出一个整数n
第二行n个整数,由空格隔开,代表待排序的序列。
输出格式
T行,每行一个整数表示一组询问的答案。
样例输入
2 3 1 3 2 4 3 2 1 4
样例输出
2 3
问题提示
对于30%的数据,T组中所有n的累加和 <= 5000
对于100%的数据,T组中所有n的累加和 <= 100000 1<=T<=100000
本题线下文件测评时的说明:
- 可执行文件名:sort
- 提交源程序文件名:sort.cpp
- 输入文件名:sort.in
- 输出文件名:sort.out
- 时间限制:1秒
- 空间限制:256MB
#include <bits/stdc&#