CF1623C Balanced Stone Heaps

题目描述

有 $n$ 堆石子,第 $i$ 堆有 $h_i$ 个石子。你可以进行如下操作一次来改变各堆石子的数量: - 你按顺序从第 $3$ 堆遍历到第 $n$ 堆。 - 设当前遍历到第 $i$ 堆。 - 你可以选择一个数 $d$($0 \le 3 \cdot d \le h_i$),从第 $i$ 堆拿出 $d$ 个石子放到第 $i-1$ 堆,再拿出 $2d$ 个石子放到第 $i-2$ 堆。 - 操作后,第 $i$ 堆减少 $3d$ 个石子,第 $i-1$ 堆增加 $d$ 个石子,第 $i-2$ 堆增加 $2d$ 个石子。 - 对于不同的 $i$,你可以选择不同的 $d$,也可以选择相同的 $d$。有些堆可能会变成空堆,但它们仍然算作一堆。 问经过上述过程后,最小的那一堆最多能有多少个石子。

输入格式

每组测试数据包含多组测试用例。第一行输入测试用例组数 $t$($1 \le t \le 2 \times 10^5$)。 接下来每组测试用例包含两行: 第一行输入一个整数 $n$($3 \le n \le 2 \times 10^5$)。 第二行输入 $n$ 个整数 $h_1, h_2, h_3, \ldots, h_n$($1 \le h_i \le 10^9$)。 保证所有测试用例中 $n$ 的总和不超过 $2 \times 10^5$。

输出格式

对于每组测试用例,输出一个整数,表示经过操作后,最小的那一堆最多能有多少个石子。

说明/提示

在第一个测试用例中,初始各堆石子数为 $[1, 2, 10, 100]$。可以按如下方式移动石子: - 从第 $3$ 堆向第 $2$ 堆和第 $1$ 堆分别移动 $3$ 和 $6$ 个石子,堆的数量变为 $[7, 5, 1, 100]$; - 从最后一堆向第 $3$ 堆和第 $2$ 堆分别移动 $6$ 和 $12$ 个石子,堆的数量变为 $[7, 17, 7, 82]$。 在第二个测试用例中,最后一堆只有 $1$ 个石子,无法增加其它堆的数量。 在第三个测试用例中,最优选择是不移动任何石子。 在最后一个测试用例中,最终可以达到的堆配置为 $[3, 5, 3, 4, 3, 3]$。 由 ChatGPT 4.1 翻译