题目描述
给定 $n$ 个正整数组成的数列 $a_1, a_2, \cdots, a_n$ 和 $m$ 个区间 $[l_i,r_i]$,分别求这 $m$ 个区间的区间和。
对于所有测试数据,$n,m\le10^5,a_i\le 10^4$
输入格式
第一行,为一个正整数 $n$ 。
第二行,为 $n$ 个正整数 $a_1,a_2, \cdots ,a_n$
第三行,为一个正整数 $m$ 。
接下来 $m$ 行,每行为两个正整数 $l_i,r_i$ ,满足$1\le l_i\le r_i\le n$
输出格式
共 $m$ 行。
第 $i$ 行为第 $i$ 组答案的询问。
样例 #1
样例输入 #1
4
4 3 2 1
2
1 4
2 3
样例输出 #1
10
5
代码
n = int(input().strip())
nlist = list(map(int,input().strip().split()))
m = int(input().strip())
for i in range(1,n):
nlist[i] += nlist[i-1]
for _ in range(m):
l, r = map(int, input().strip().split())
l -= 1 # 将索引调整为从 0 开始
r -= 1 # 将索引调整为从 0 开始
if l == 0:
print(nlist[r])
else:
print(nlist[r] - nlist[l-1])
© 版权声明
文章版权归作者所有,请勿转载至任何平台。
THE END
暂无评论内容