小H的交换游戏
题号:NC223767
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

    小H在玩一个排列交换的小游戏,小H有一个无序的n排列(一个长度为n的数组,数组内1到n的数字出现且只出现一次),数组的每一位上的数字都有一个金额

接下来游戏有两个步骤

    1、小H将排列从中间切割分成两个集合。例如:第一个集合:,第二个集合:. 且

    2、小H可以选择一个数移动至另一个集合中,且消耗对应的金额

    现在小H想通过以上两个步骤通过花费最小的金额使得第一个集合的最小值大于第二个集合的最大值,注意当其中一个集合为空的时候也是满足此条件

输入描述:

第一行一个整数

第二行个整数,代表排列

第三个个整数代表金额 

输出描述:

输出一个整数,代表最小的花费
示例1

输入

复制
5
1 2 3 4 5
1 2 3 4 5

输出

复制
1
示例2

输入

复制
3
3 1 2
7 1 4

输出

复制
0