#10826. 区间取数

内存限制:512 MiB 时间限制:1000 ms 输入文件: qjqs.in 输出文件: qjqs.out
题目类型:传统 评测方式:文本比较
上传者: admin

题目描述

给出 n 个数的序列,每次询问给定两个数 [l,r] ,你需要从 l r 这个区间里面取任意个数(可以不取),求选取的数的和的最大值。

其中不选取数的时候,和为 0。

输入格式

第 1 行一个正整数 n 代表序列长度。

第 2 行 n 个数代表序列 a_1, a_2, ..., a_n

第 3 行一个正整数 q 代表询问组数。

接下来 q 行,每行两个数 l, r ,代表一组询问区间的端点。

输出格式

q 行,每行一个整数代表答案。

样例

样例输入

6
2 -1 2 3 -5 2
3
1 2
1 3
2 4

样例输出

2
4
5

数据范围与提示

对于 80% 的数据保证 1≤n,q≤10^5

对于 100% 的数据保证 1≤n,q≤10^6,0≤∣a_i∣≤10^9,1≤l≤r≤n