#P1476. 暴力求和

暴力求和

暴力求和

题目描述

序列 aa 长度为 NNa1,a2...ana_1,a_2...a_n.(106ai106)(-10^6 \le a_i \le 10^6) 序列 bb 长度为 KKb1,b2...bkb_1,b_2...b_k(106bi106)(-10^6 \le b_i \le 10^6). 从aa中取出长度为KK的子序列 cc 记为c1,c2...ckc_1,c_2...c_k. 求i=1kbici+ac\sum_{i=1}^{k}b_ic_i+\sum a -\sum c的最小值。

子序列是指从给定序列中去除一些元素(也可能不去除)后,剩余元素组成的序列。重要的是,这个过程中剩余元素的相对顺序保持不变。例如,对于序列 [1,2,3,4,5,6],[2,3,6],[2,3,4],[2,4,6] 就是一个可能的子序列.

输入格式

第一行输入一个正整数NN(1N106)(1 \le N \le 10^6)。 第二行输入NN个数代表a1,a2...ana_1,a_2...a_n.(106ai106)(-10^6 \le a_i \le 10^6) 第三行输入一个正整数KK(1K20)(1 \le K \le 20) 第四行输入KK个数代表b1,b2...bkb_1,b_2...b_k(104bi104)(-10^4 \le b_i \le 10^4).

输出格式

第一行输出一个整数代表最小值

样例 #1

样例输入 #1

4
4 1 3 2
3
4 2 3

样例输出 #1

20

提示

Python提交建议选择pypy3,并选择空间复杂度更小的做法。