CF BUDDY
← Problems·

1644C · Increase Subarray Sums

1400 · brute force, 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 an integer value xx.

Let f(k)f(k) be the maximum sum of a contiguous subarray of aa after applying the following operation: add xx to the elements on exactly kk distinct positions. An empty subarray should also be considered, it has sum 00.

Note that the subarray doesn't have to include all of the increased elements.

Calculate the maximum value of f(k)f(k) for all kk from 00 to nn independently.

Input Format: The first line contains a single integer tt (1t50001 \le t \le 5000) — the number of testcases.

The first line of the testcase contains two integers nn and xx (1n50001 \le n \le 5000; 0x1050 \le x \le 10^5) — the number of elements in the array and the value to add.

The second line contains nn integers a1,a2,,ana_1, a_2, \dots, a_n (105ai105-10^5 \le a_i \le 10^5).

The sum of nn over all testcases doesn't exceed 50005000.

Output Format: For each testcase, print n+1n + 1 integers — the maximum value of f(k)f(k) for all kk from 00 to nn independently.

Note: In the first testcase, it doesn't matter which elements you add xx to. The subarray with the maximum sum will always be the entire array. If you increase kk elements by xx, kxk \cdot x will be added to the sum.

In the second testcase:

  • For k=0k = 0, the empty subarray is the best option.
  • For k=1k = 1, it's optimal to increase the element at position 33. The best sum becomes 1+5=4-1 + 5 = 4 for a subarray [3,3][3, 3].
  • For k=2k = 2, it's optimal to increase the element at position 33 and any other element. The best sum is still 44 for a subarray [3,3][3, 3].
  • For k=3k = 3, you have to increase all elements. The best sum becomes (2+5)+(7+5)+(1+5)=5(-2 + 5) + (-7 + 5) + (-1 + 5) = 5 for a subarray [1,3][1, 3].

Sample Cases

Case 1

Input

3
4 2
4 1 3 2
3 5
-2 -7 -1
10 2
-6 -1 -2 4 -6 -1 -4 4 -5 -4

Output

10 12 14 16 18
0 4 4 5
4 6 6 7 7 7 7 8 8 8 8

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