AT_arc138_a [ARC138A] Larger Score
题目描述
有一个长度为 $N$ 的整数序列 $A=(A_1,A_2,\cdots,A_N)$。在本题中,我们将 $A$ 的前 $K$ 项的和称为**分数**。设输入给定的 $A$ 的分数为 $s$。
你可以任意次数地进行以下操作:
- 选择 $A$ 中某两个相邻的元素,交换它们的值。
你的目标是使分数达到 $s+1$ 或更大。请判断目标是否可以实现,如果可以,请求出所需的最小操作次数。
输入格式
输入以如下格式从标准输入读入:
> $N$ $K$ $A_1$ $A_2$ $\cdots$ $A_N$
输出格式
如果无法实现目标,输出 `-1`。如果可以实现,输出所需的最小操作次数。
说明/提示
### 限制条件
- $2 \leq N \leq 4 \times 10^5$
- $1 \leq K \leq N-1$
- $1 \leq A_i \leq 10^9$
- 所有输入值均为整数
### 样例解释 1
首先,$s=2+1=3$。可以通过如下操作使分数达到 $4$ 或更大:
- $(2,1,1,2) \to$(交换 $A_3$ 和 $A_4$ 的值)$\to (2,1,2,1) \to$(交换 $A_2$ 和 $A_3$ 的值)$\to (2,2,1,1)$
用一次操作无法达成目标,因此所需的最小操作次数为 $2$。
由 ChatGPT 4.1 翻译