CF1779C.Least Prefix Sum
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Baltic, a famous chess player who is also a mathematician, has an array a1,a2,…,an , and he can perform the following operation several (possibly 0 ) times:
- Choose some index i ( 1≤i≤n );
- multiply ai with −1 , that is, set ai:=−ai .
Baltic's favorite number is m , and he wants a1+a2+⋯+am to be the smallest of all non-empty prefix sums. More formally, for each k=1,2,…,n it should hold that $$$$a_1 + a_2 + \cdots + a_k \geq a_1 + a_2 + \cdots + a_m. $$
Please note that multiple smallest prefix sums may exist and that it is only required that a_1+a_2+cdots+a_m is one of them.
Help Baltic find the minimum number of operations required to make a_1+a_2+cdots+a_m$$ the least of all prefix sums. It can be shown that a valid sequence of operations always exists.
输入格式
Each test contains multiple test cases. The first line contains the number of test cases t ( 1≤t≤10000 ). The description of the test cases follows.
The first line of each test case contains two integers n and m ( 1≤m≤n≤2⋅105 ) — the size of Baltic's array and his favorite number.
The second line contains n integers a1,a2,…,an ( −109≤ai≤109 ) — the array.
It is guaranteed that the sum of n over all test cases does not exceed 2⋅105 .
输出格式
For each test case, print a single integer — the minimum number of required operations.
输入输出样例
输入#1
6 4 3 -1 -2 -3 -4 4 3 1 2 3 4 1 1 1 5 5 -2 3 -5 1 -20 5 2 -2 3 -5 -5 -20 10 4 345875723 -48 384678321 -375635768 -35867853 -35863586 -358683842 -81725678 38576 -357865873
输出#1
1 1 0 0 3 4
说明/提示
In the first example, we perform the operation a4:=−a4 . The array becomes [−1,−2,−3,4] and the prefix sums, [a1, a1+a2, a1+a2+a3, a1+a2+a3+a4] , are equal to [−1,−3,−6,−2] . Thus a1+a2+a3=−6 is the smallest of all prefix sums.
In the second example, we perform the operation a3:=−a3 . The array becomes [1,2,−3,4] with prefix sums equal to [1,3,0,4] .
In the third and fourth examples, a1+a2+⋯+am is already the smallest of the prefix sums — no operation needs to be performed.
In the fifth example, a valid sequence of operations is:
- a3:=−a3 ,
- a2:=−a2 ,
- a5:=−a5 .
The array becomes [−2,−3,5,−5,20] and its prefix sums are [−2,−5,0,−5,15] . Note that a1+a2=−5 and a1+a2+a3+a4=−5 are both the smallest of the prefix sums (and this is a valid solution).