CF BUDDY
← Problems·

1519D · Maximum Sum of Products

1600 · brute force, dp, implementation

Problem: You are given two integer arrays aa and bb of length nn.

You can reverse at most one subarray (continuous subsegment) of the array aa.

Your task is to reverse such a subarray that the sum i=1naibi\sum\limits_{i=1}^n a_i \cdot b_i is maximized.

Input Format: The first line contains one integer nn (1n50001 \le n \le 5000).

The second line contains nn integers a1,a2,,ana_1, a_2, \dots, a_n (1ai1071 \le a_i \le 10^7).

The third line contains nn integers b1,b2,,bnb_1, b_2, \dots, b_n (1bi1071 \le b_i \le 10^7).

Output Format: Print single integer — maximum possible sum after reversing at most one subarray (continuous subsegment) of aa.

Note: In the first example, you can reverse the subarray [4,5][4, 5]. Then a=[2,3,2,3,1]a = [2, 3, 2, 3, 1] and 21+33+22+34+12=292 \cdot 1 + 3 \cdot 3 + 2 \cdot 2 + 3 \cdot 4 + 1 \cdot 2 = 29.

In the second example, you don't need to use the reverse operation. 132+374=17413 \cdot 2 + 37 \cdot 4 = 174.

In the third example, you can reverse the subarray [3,5][3, 5]. Then a=[1,8,3,6,7,6]a = [1, 8, 3, 6, 7, 6] and 15+89+36+68+78+66=2351 \cdot 5 + 8 \cdot 9 + 3 \cdot 6 + 6 \cdot 8 + 7 \cdot 8 + 6 \cdot 6 = 235.

Sample Cases

Case 1

Input

5
2 3 2 1 3
1 3 2 4 2

Output

29

Case 2

Input

2
13 37
2 4

Output

174

Case 3

Input

6
1 8 7 6 3 6
5 9 6 8 8 6

Output

235

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