CF BUDDY
← Problems·

1796D · Maximum Subarray

2000 · data structures, dp, greedy

Problem: You are given an array a1,a2,,ana_1, a_2, \dots, a_n, consisting of nn integers. You are also given two integers kk and xx.

You have to perform the following operation exactly once: add xx to the elements on exactly kk distinct positions, and subtract xx from all the others.

For example, if a=[2,1,2,3]a = [2, -1, 2, 3], k=1k = 1, x=2x = 2, and we have picked the first element, then after the operation the array a=[4,3,0,1]a = [4, -3, 0, 1].

Let f(a)f(a) be the maximum possible sum of a subarray of aa. The subarray of aa is a contiguous part of the array aa, i. e. the array ai,ai+1,,aja_i, a_{i + 1}, \dots, a_j for some 1ijn1 \le i \le j \le n. An empty subarray should also be considered, it has sum 00.

Let the array aa' be the array aa after applying the aforementioned operation. Apply the operation in such a way that f(a)f(a') is the maximum possible, and print the maximum possible value of f(a)f(a').

Input Format: The first line contains a single integer tt (1t1041 \le t \le 10^4) — the number of test cases.

The first line of each test case contains three integers nn, kk and xx (1n21051 \le n \le 2 \cdot 10^5; 0kmin(20,n)0 \le k \le \min(20, n); 109x109-10^9 \le x \le 10^9).

The second line contains nn integers a1,a2,,ana_1, a_2, \dots, a_n (109ai109-10^9 \le a_i \le 10^9).

The sum of nn over all test cases doesn't exceed 21052 \cdot 10^5.

Output Format: For each test case, print one integer — the maximum possible value of f(a)f(a').

Sample Cases

Case 1

Input

4
4 1 2
2 -1 2 3
2 2 3
-1 2
3 0 5
3 2 4
6 2 -8
4 -1 9 -3 7 -8

Output

5
7
0
44

Similar problems

00:00:00
Loading editor…
Welcome! I'm your coding tutor for this problem. Use the chips below to reveal stored hints or get AI feedback on your code. I'll guide you step by step — never giving away the solution.

Sign in to unlock AI tutor feedback