题号:NC232732
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
骑士?只是我手上的傀儡而已,冲锋!
本题请格外注意标红和加粗的字!
你是一个骑士,现有一个包含

个格子的一维棋盘(一行

列)。
第

个格子有一个战斗力为

的怪物:所有怪物对应的

,若

表示第

列是公主。
你的任务目标是营救被困于该格的公主(走到公主所在的格子),你需要选择一个
公主不在 的格子作为起点,任意时刻
不重复 经过已经走过的点。
到达某个格子时,必须与当前怪物战斗,如果战斗力严格大于其战斗力,可以击败它并获得它所具有的全部战斗力。
形式化地,设你的战斗力是

,怪物的战斗力是

:
给定序列

,求采用最优策略选择起点及行动路径时
最少 的初始战斗力

使得能完成任务目标。
输入描述:
全文第一行输入一个正整数
,表示数据组数。
对于每组数据,第一行输入一个正整数
。
第二行输入
个整数,第
个表示
。
数据保证存在且仅存在一个
满足
。
输出描述:
对于每组数据,输出一行一个整数表示
的最小值,无解时输出一行字符串
。
示例1
输入
复制
2
5
1 2 3 4 0
5
4 4 4 4 0