CF2237C Duck Surplus

题目描述

Ja the Ghost 又开始玩橡胶鸭了!有 $n$ 堆橡胶鸭从左到右排成一行。初始时,第 $i$ 堆有 $a_i$ 只橡胶鸭。 只要序列 $a$ 不是非递减序列,Ja 就必须进行如下操作: - 选择两个相邻的堆,且左边堆的鸭子比右边堆多。Ja 交换这两堆的位置,并且把新左边堆的鸭子数量加到新右边堆上。形式化地说,选择某个索引 $i$,满足 $1 \le i < n$ 且 $a_i > a_{i+1}$,然后用 $(a_i, a_{i+1})$ 替换为 $(a_{i+1}, a_i + a_{i+1})$。 例如,如果两个相邻的堆分别有 $7$ 和 $3$ 只橡胶鸭,那么操作后它们会变为 $3$ 和 $10$ 只橡胶鸭。 Ja 每次可以选择任意一个满足条件的下标 $i$。可以证明,无论他的选择如何,这一过程最终都会以序列变成非递减排列而结束。 Ja 希望最终最大的那一堆鸭子数量尽可能少。请你计算最终最大橡胶鸭堆的最小可能数量。

输入格式

每组测试包含多组数据。第一行包含测试组数 $t$($1 \le t \le 10^4$)。接下来是每组数据的描述。 每组数据第一行包含一个整数 $n$($1 \le n \le 2 \times 10^5$)——橡胶鸭堆的数量。 第二行包含 $n$ 个正整数 $a_1, a_2, \ldots, a_n$($1 \le a_i \le 10^9$),分别表示每堆鸭子的数量。 保证所有测试组中 $n$ 的总和不超过 $2 \times 10^5$。

输出格式

对于每组测试数据,输出一个整数,表示最终最大橡胶鸭堆的最小可能数量。

说明/提示

在下面的变换中,下划线的两个数字为本次操作的相邻对。 第一组数据中,序列已经是非递减序列,所以 Ja 不执行任何操作,答案为 $5$。 第二组数据,Ja 只有一种可能的操作:$ [7,3]\to [\underline{3}, \underline{10}]. $ 此时序列已经非递减,答案为 $10$。 第三组数据,Ja 可以这样操作:$ [3,2,1]\to [\underline{2}, \underline{5}, 1] \to [2,\underline{1},\underline{6}] \to [\underline{1},\underline{3}, 6]. $ 最大堆包含 $6$ 只鸭子。如果 Ja 第一步选择最后两个堆,最终最大堆会有 $7$ 只鸭子,所以答案为 $6$。 第四组数据,Ja 开始不能选择前两个堆,因为 $2 \le 2$。一种可能的过程为:$ [2,2,1,3,3]\to [2,\underline{1},\underline{3},3,3]\to [\underline{1},\underline{3},3,3,3]. $ 所以答案为 $3$。 第五组数据,一种最优操作为:$ [3,1,4,2]\to [\underline{1},\underline{4},4,2]\to [1,4,\underline{2},\underline{6}]\to [1,\underline{2},\underline{6}, 6]. $ 因此答案为 $6$。 由 ChatGPT 5 翻译