AT_abc459_f [ABC459F] -1, +1
题目描述
给定一个长度为 $N$ 的非负整数序列 $A = (A_1, A_2, \ldots, A_N)$。
你可以对 $A$ 执行以下操作零次或多次:
- 选择一个满足 $1 \le i \le N-1$ 的整数 $i$,将 $A_i$ 减少 $1$,同时将 $A_{i+1}$ 增加 $1$。
请你求出,至少需要多少次操作,才能使 $A$ 变成严格递增的序列。
可以保证答案小于 $2^{63}$。
有 $T$ 组测试数据,请依次解决每组数据。
输入格式
输入从标准输入给出,格式如下:
> $T$
> $\text{case}_1$
> $\text{case}_2$
> $\vdots$
> $\text{case}_T$
第 $i$ 组($1 \le i \le T$)测试数据 $\text{case}_i$ 的格式如下:
> $N\ A_1\ A_2\ \ldots\ A_N$
输出格式
请按顺序输出每组测试数据的答案,每个答案占一行。
说明/提示
### 样例解释 1
考虑第一组测试数据。
通过如下操作,可以用三次操作将 $A$ 变成严格递增的序列:
- 选择 $i=1$,$A$ 变为 $(-1, 2, 0)$。
- 选择 $i=2$,$A$ 变为 $(-1, 1, 1)$。
- 选择 $i=2$,$A$ 变为 $(-1, 0, 2)$。
无法在更少的操作次数内使 $A$ 严格递增,因此输出 $3$。
### 数据范围
- $1 \le T \le 3 \times 10^5$
- $1 \le N \le 2 \times 10^5$
- $0 \le A_i \le 10^9$
- 所有测试数据中 $N$ 的总和不超过 $6 \times 10^5$
- 所有输入值均为整数。
由 ChatGPT 5 翻译