题目描述
给定长度为N的序列a1,a2,...,aN,和长度为M的序列b1,b2,...,bM。 接着你需要构造出一个长度为M的整数序列c1,c2,...,cM,满足:
- 0≤cn≤N。
- 每个非0元素在c中出现次数不能超过1次。
构造完序列c后,你将依序做以下的操作:
- 若ci≠0 ,将aci替换成bi。
试求在经由你构造的序列c替换完以后,序列a的最大连续和(max)能多大。
输入格式
输入的第一行包含两个整数N和M,代表序列a和序列b的长度。
接下来的一行包含N整数a_1, a_2, ..., a_N。
接下来的一行包含M整数b_1, b_2, ..., b_M。
输出格式
输出一行一个整数表示经由你构造的序列c替换完以后,序列a的最大连续和能多大。
样例
输入
3 1
3 -6 3
-2
输出
4
解释
令 c_1=2 ,操作时 a_{c_1}(a_2) 被替换为 -2 。
\max\limits_{1 \le l \le r \le N} (\sum_{i = l}^{r} a_i)=\sum_{i = 1}^{3} a_i=3+(-2)+3=4
子任务
- 1 \le N \le 10^5
- 0 \le M \le 10^5
- -10^9 \le a_i, b_i \le 10^9
前20%的分数满足 N, M \le 500。
其余有30%的分数满足 N, M \le 2000。