自学内容网 自学内容网

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

题目描述

给定 n 个正整数组成的数列 1,2,⋯ ,a1​,a2​,⋯,an​ 和 m 个区间 [li​,ri​],分别求这 m 个区间的区间和。

输入格式

第一行,为一个正整数 n 。

第二行,为 n 个正整数 1,2,⋯ ,a1​,a2​,⋯,an​

第三行,为一个正整数 m 。

接下来 m 行,每行为两个正整数 li​,ri​ ,满足 1≤li​≤ri​≤n

输出格式

共 m 行。

第 i 行为第 i 组答案的询问。

输入输出样例

输入 #1复制

4
4 3 2 1
2
1 4
2 3

输出 #1复制

10
5

说明/提示

样例解释:第 1 到第 4 个数加起来和为 10。第 2 个数到第 3 个数加起来和为 5。

对于 50%50% 的数据:n,m≤1000 ;

对于 100%100% 的数据:1≤n,m≤105,1≤ai​≤104。

#include<bits/stdc++.h>
using namespace std;
int n,m,l,r,s[100005],sum[100005];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>s[i];
sum[i]=sum[i-1]+s[i];
}
cin>>m;
for(int i=1;i<=m;i++)
{
cin>>l>>r;
int ans=0;
ans=sum[r]-sum[l-1];
cout<<ans<<endl;
}
return 0;
}


原文地址:https://blog.csdn.net/kongshuji/article/details/143022925

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!