问题 5020 --牛娃玩石头游戏

5020: 牛娃玩石头游戏

时间限制: 1 Sec  内存限制: 128 MB
提交: 49  解决: 34
[提交][状态][命题人:]

题目描述

    牛娃正在玩一款新的电脑游戏。这个游戏中有连续的n块石头,编号从1至n依次排列。每个位置上的石头都有一个整数ai作为它的硬度,并且所有石头的硬度都是不同的。 

    在游戏的每个回合中,牛娃都可以摧毁第一个位置的石头或最后一个位置的石头(换句话说,是最左边或最右边的石头)。当牛娃破坏石头时,它就消失了。 

    现在,牛娃想要两项成就。他想摧毁硬度最大和最小的两块石头。请你求出牛娃为了实现目标,他需要摧毁的最少石块数。

 

例如,如果n=5且a=[1,5,4,3,2],则牛娃可以执行以下操作:

摧毁最左边的石头。在这一步之后,a=[5,4,3,2];

摧毁最右边的石头。在这一步之后,a=[5,4,3];

摧毁最左边的石头。在这一步之后,a=[4,3]。

此时,牛娃摧毁了硬度最大(5)和硬度最小(2)的两块石头了,游戏结束牛娃共摧毁了3块石头。

需要提醒的是,上述过程并不是最优解。其实,牛娃可以执行以下过程结束游戏。

摧毁最左边的石头。在这一步之后,a=[5,4,3,2];

摧毁最左边的石头。在这一步之后,a=[4,3,2]。

也就是说,牛娃最少可以摧毁2块石头就可以达成目标。

输入

第一行包含一个整数t(1≤t≤100). 然后,输入t组测试用例。

每个测试用例的第一行包含一个整数n(2≤n≤100——石头的数量。

第二行包含n个不同的整数a1a2…,an1≤ai≤n——石头的硬度。

输出

对于每个测试用例,输出牛娃所需的最小摧毁次数,使他可以摧毁硬度最大和最小的石头。

样例输入
Copy
5
5
1 5 4 3 2
8
2 1 3 4 5 6 8 7
8
4 2 3 1 8 6 7 5
4
3 4 2 1
4
2 3 1 4
样例输出
Copy
2
4
5
3
2

提示

来源

 

[提交][状态]