【深进1.例1】求区间和

题目描述

给定 $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])
​

https://www.luogu.com.cn/problem/P8218

© 版权声明
THE END
点赞9 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容