#L3721. 「SDOI / SXOI2022」整数序列

    ID: 3647 传统题 2000ms 256MiB 尝试: 8 已通过: 1 难度: 9 上传者: 标签>数据结构线段树其他双指针扫描难度省选/NOI-前缀和

「SDOI / SXOI2022」整数序列

「SDOI / SXOI2022」整数序列

题目描述

小 D 三岁就学会了出题。

小 D 有一个正整数序列 a1,a2,ana_{1}, a_{2}, \ldots a_{n} 和一个整数序列 b1,b2,,bnb_{1}, b_{2}, \ldots, b_{n}

小 D 有 qq 次查询,每次给出 x,yx, y,构造一个新的序列 c1,c2,,cnc_{1}, c_{2}, \ldots, c_{n},其中

$$c_{i}= \begin{cases}1 & a_{i}=x \\ -1 & a_{i}=y \\ 0 & \text{else}\end{cases} $$

保证 cic_{i} 中至少存在一个 11 与一个 1-1。他想让你帮他找到一个区间 [l,r][l, r],满足

i=lrci=0\sum_{i=l}^{r} c_{i}=0

并使得

i=lrbi×[ci0]\sum_{i=l}^{r} b_{i} \times [c_{i} \neq 0]

最大,并且区间里的 cic_{i} 不能都为 00。你需要输出这个最大值。

注:当条件 [P][P] 为真时,[P]=1[P]=1,否则 [P]=0[P]=0

输入格式

第一行有两个整数 n,qn, q

第二行有 nn 个整数,第 ii 个整数表示 aia_{i}

第三行有 nn 个整数,第 ii 个整数表示 bib_{i}

接下来 qq 行,每行两个整数 x,yx, y,表示一次询问。

输出格式

对于每次询问,输出一行一个整数表示最大的

i=lrbi×[ci0]\sum_{i=l}^{r} b_{i} \times [c_{i} \neq 0]

样例 1

输入

5 3
1 2 3 1 2
-2 3 2 -1 2
1 2
1 3
2 3

输出

2
1
5

样例 2

见附加样例文件中的 ex_sequence2.inex_sequence2.out

数据范围与提示

本题共 20 个测试点。

对于测试点 1,2,3,4,保证 n,q5000n, q \leq 5000。 对于测试点 5,6,保证 aa 的取值不超过 500 种。 对于测试点 7,8,保证 n150000n \leq 150000q500000q \leq 500000bi>0b_{i}>0。 对于测试点 9,保证 n150000n \leq 150000q500000q \leq 500000。 对于测试点 10,11,保证 n200000n \leq 200000q500000q \leq 500000。 对于测试点 12,13,14,保证 bi=1b_{i}=1。 对于测试点 15,16,保证 bi>0b_{i}>0

对于所有测试点,1n3000001 \leq n \leq 3000001q10000001 \leq q \leq 10000001ain1 \leq a_{i} \leq n109<bi109-10^{9}<b_{i} \leq 10^{9}1x,yn1 \leq x, y \leq nxyx \neq y,保证对于每次查询,cic_{i} 中均至少含有一个 11 与一个 1-1