#P4858. 宝藏寻宝游戏
宝藏寻宝游戏
题目描述
在一个阳光明媚的日子里,蒜头君和花椰妹在花园里找到了一张藏宝图。这张藏宝图上标记着许多不同的宝藏点,宝藏点上写着一些数字。蒜头君和花椰妹决定一起玩一个游戏,他们会根据藏宝图上给出的线索,从一处宝藏点走到另一处宝藏点,沿途会收集到一些宝藏数字。
他们可以选择收集其中的某些宝藏数字,也可以一个都不收集。他们想知道,如果他们想要自己的收集的宝藏数字之和最多,应该收集哪些宝藏数字呢?
现在,蒜头君和花椰妹需要你的帮助,你能帮他们计算出他们每次冒险能收集的宝藏数字之和的最大值是多少吗?
举例说明: 当 ,序列为 时,对于区间 ,收集该区间内所有数的和为 ,这是能收集到的最大和。
输入格式
第一行一个正整数 ,代表序列长度。
第二行 个整数,代表序列 。
第三行一个正整数 ,代表询问组数。
接下来 行,每行两个整数 ,代表一组询问区间的端点。
输出格式
输出 行,每行一个整数,表示对应询问的答案。
样例
6
2 -1 2 3 -5 2
3
1 2
1 3
2 4
2
4
5
样例解释
序列为 ,共有 组询问:
- 询问区间 :可选方案中,只收集 的和为 ,是最大值;
- 询问区间 :收集第 个 和第 个 ,和为 ,是最大值;
- 询问区间 :收集第 个 和第 个 ,和为 ,是最大值。
数据范围
- 对于 的数据:,;
- 对于 的数据:,,。