Submit solution
Points:
1.08 (partial)
Time limit:
6.0s
Memory limit:
512M
Input:
stdin
Output:
stdout
Problem type
Allowed languages
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch
Đây là trò chơi một người tạm gọi là bạn Vova với hai dãy số nguyên dương: ~a~ gồm ~n > 1~ phần tử và ~b~ gồm ~m > 1~ phần tử. Vova phải thực hiện các thao tác sau đây:
- Chia mỗi dãy ~a~ và ~b~ thành ~k > 0~ nhóm, mỗi nhóm gồm dãy các phần tử đứng liền nhau, số phần tử của mỗi nhóm có thể khác nhau nhưng tối thiểu phải là ~1~. Số ~k~ do Vova tự quyết định; Mã số các nhóm là ~1~, ~2~, ~\ldots~, ~k~;
- Với mỗi nhóm ~i~ trong dãy ~a~ Vova phải tính tổng ~c~ = ~c_{1} + c_{2} + \ldots + c_{k}~.
trong đó:
- ~c_{i} = (s_{i} - u_{i})(t_{i} - v_{i})~, ~i~ = ~1~, ~2~, ~\ldots~, ~k~;
- ~s_{i}~ là tổng các phần tử của nhóm ~i~ trong dãy a;
- ~u_{i}~ là số phần tử của nhóm ~i~ trong dãy a;
- ~t_i~ là tổng các phần tử của nhóm ~i~ trong dãy b;
- ~v_{i}~ là số phần tử của nhóm ~i~ trong dãy b.
Hãy cho biết giá trị nhỏ nhất có thể đạt được của ~c~
Input
Dòng đầu tiên chứa ~2~ số ~n~ và ~m~ (~1 \le n, m \le 10^4~)
Dòng thứ hai chứa ~n~ phần tử của dãy a (~1 \le a_i \le 10^5~).
Dòng thứ ba chứa ~m~ phần tử của dãy b (~1 \le b_i \le 10^5~).
Output
Chứa giá trị nhỏ nhất có thể đạt được của ~c~.
Sample Input
3 2
3 7 4
5 2
Sample Output
17
Comments