给定一个长度为 n 的整数序列 a1,a2,…,an。
有 q 次询问,其中第 j (1≤j≤q) 次询问将会给出 Lj,Rj (1≤Lj≤Rj≤n)。定义区间 [l,r] (1≤l≤r≤n) 是极好的,当且仅当区间 [l,r] 的长度在 [Lj,Rj] 内,即 Lj≤r−l+1≤Rj。定义区间 [l,r] (1≤l≤r≤n) 的权值为 ∑i=lrai。对于所有 i=1,2,…,n,求出所有包含 i 的极好区间的最大权值,即 max1≤l≤i≤r≤n{∑i=lrai∣Lj≤r−l+1≤Rj}。
输入的第一行包含一个正整数 n,表示序列长度。
输入的第二行包含 n 个整数 a1,a2,…,an。
输入的第三行包含一个正整数 q,表示询问次数。
输入的第 j+3 (1≤j≤q) 行包含两个正整数 Lj,Rj,表示第 j 次询问。
对于每次询问,设包含 i (1≤i≤n) 的极好区间的最大权值为 ki,输出一行一个非负整数,表示 ⨁i=1n((i×ki)mod264),其中 ⊕ 表示二进制按位异或。注意:对于任意整数 x,存在唯一的非负整数 x′ 满足 x′≡x(mod264) 且 0≤x′≤264−1,则记 xmod264=x′。
4 2 4 -5 1 3 1 2 3 4 1 4
18446744073709551603 8 4
对于第 1 次询问:
因此 k1=6,k2=6,k3=−1,k4=1。
对于第 2 次询问,k1=2,k2=2,k3=2,k4=2。
对于第 3 次询问,k1=6,k2=6,k3=2,k4=2。
对于所有测试数据,均有:
| 测试点编号 | n≤ | q≤ | 特殊性质 |
|---|---|---|---|
| 1 | 103 | 1 | 无 |
| 2,3 | 3,000 | 50 | ^ |
| 4 | 104 | 128 | ^ |
| 5 | 3×104 | 512 | ^ |
| 6,7 | 5×104 | 1,024 | A |
| 8∼10 | ^ | 512 | B |
| 11,12 | ^ | ^ | C |
| 13 | ^ | 1,024 | D |
| 14,15 | ^ | ^ | E |
| 16∼20 | ^ | ^ | 无 |
特殊性质 A:对于所有 1≤j≤q,均有 Lj=Rj。
特殊性质 B:对于所有 1≤j≤q,均有 Rj≤32。
特殊性质 C:对于所有 1≤j≤q,均有 Lj≤16 且 Rj≥n−1000。
特殊性质 D:对于所有 1≤j≤q,均有 Lj>n/2。
特殊性质 E:对于所有 1≤j≤q,均有 Lj>n/4。