题目描述
小 D 三岁就学会了出题。
小 D 有一个正整数序列 a1,a2,…an 和一个整数序列 b1,b2,…,bn 。
小 D 有 q 次查询,每次给出 x,y,构造一个新的序列 c1,c2,…,cn,其中 $c_{i}= \begin{cases}1 &a_{i}=x \\ -1 &a_{i}=y \\ 0 &\text { else }\end{cases}$。
保证 ci 中至少存在一个 1 与一个 −1。他想让你帮他找到一个区间 [l,r],满足 i=l∑rci=0,并使得 $\displaystyle\sum_{i=l}^{r} b_{i} \times\left[c_{i} \neq 0\right]$ 最大,并且区间里的 ci 不能都为 0。你需要输出这个最大值。
注:当条件 [P] 为真时,[P]=1,否则 [P]=0 。
输入格式
第一行有两个整数 n,q。
第二行有 n 个整数,第 i 个整数表示 ai。
第三行有 n 个整数,第 i 个整数表示 bi。
接下来 q 行,每行两个整数 x,y,表示一次询问。
输出格式
对于每次询问,输出一行一个整数表示最大的 $\displaystyle\sum_{i=l}^{r} b_{i} \times\left[c_{i} \neq 0\right]$ 。
5 3
1 2 3 1 2
-2 3 2 -1 2
1 2
1 3
2 3
2
1
5
样例 2
见附加样例文件中的 ex_sequence2.in
与 ex_sequence2.out
。
数据范围与提示
本题共 20 个测试点。
- 对于测试点 1,2,3,4,保证 n,q≤5000。
- 对于测试点 5,6,保证 a 的取值不超过 500 种。
- 对于测试点 7,8,保证 n≤150000,q≤500000,bi>0。
- 对于测试点 9,保证 n≤150000,q≤500000。
- 对于测试点 10,11,保证 n≤200000,q≤500000。
- 对于测试点 12,13,14,保证 bi=1。
- 对于测试点 15,16,保证 bi>0。
对于所有测试点,1≤n≤300000,1≤q≤1000000,1≤ai≤n,−109<bi≤109,1≤ x,y≤n,x=y,保证对于每次查询,ci 中均至少含有一个 1 与一个 −1。