AT_arc138_a.[ARC138A] Larger Score
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一个长度为 N 的整数序列 A=(A1,A2,⋯,AN)。在本题中,我们将 A 的前 K 项的和称为分数。设输入给定的 A 的分数为 s。
你可以任意次数地进行以下操作:
- 选择 A 中某两个相邻的元素,交换它们的值。
你的目标是使分数达到 s+1 或更大。请判断目标是否可以实现,如果可以,请求出所需的最小操作次数。
输入格式
输入以如下格式从标准输入读入:
N K A1 A2 ⋯ AN
输出格式
如果无法实现目标,输出 -1。如果可以实现,输出所需的最小操作次数。
输入输出样例
输入#1
4 2 2 1 1 2
输出#1
2
输入#2
3 1 3 2 1
输出#2
-1
输入#3
20 13 90699850 344821203 373822335 437633059 534203117 523743511 568996900 694866636 683864672 836230375 751240939 942020833 865334948 142779837 22252499 197049878 303376519 366683358 545670804 580980054
输出#3
13
说明/提示
限制条件
- 2≤N≤4×105
- 1≤K≤N−1
- 1≤Ai≤109
- 所有输入值均为整数
样例解释 1
首先,s=2+1=3。可以通过如下操作使分数达到 4 或更大:
- (2,1,1,2)→(交换 A3 和 A4 的值)→(2,1,2,1)→(交换 A2 和 A3 的值)→(2,2,1,1)
用一次操作无法达成目标,因此所需的最小操作次数为 2。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?