小红的数组
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

小红有一个数组,这个数组中有 n 个数 a_i
小红有 q 次询问,每次询问给定一个区间 [l,r],询问区间连续子段和的绝对值最大是多少,即区间存在 x,y使得 l \leq x \leq y \leq r,求最大的 \mathrm{abs}(a[x]+a[x+1]+.....+a[y])是多少。

输入描述:

第一行输入一个整数 n 表示数组的长度。
第二行输入 n 个整数 a_i 表示数组的元素。
第三行输入一个整数 q 表示询问的次数。
接下来 q 行,每行输入两个整数 l,r 表示询问的区间。
1 \leq n, q \leq 5 \times 10^5
-10^9 \leq a_i \leq 10^9
1 \leq l \leq r \leq n

输出描述:

输出 q 行,每行输出一个整数表示对应询问的答案。
示例1

输入

复制
5
1 2 -3 -4 5
3
1 3
2 4
3 5

输出

复制
3
7
7