牛娃正在玩一款新的电脑游戏。这个游戏中有连续的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块石头就可以达成目标。