题目:
晨晨最近对一组数中某一段数的和很感兴趣,她想编一道程序,已知一组数,只要输入开始位置s和结束位置e,就能输出这段范围内的数之和。
【输入格式】
第一行,n,表示有n个整数。(n<=100000)
第二行,n个1000以内的整数。
第三行,m,表示有m次询问。(1<=m<=10000)
接下来m行,每行两个数,表示开始和结束的位置。(1<=s<=e<=n) 。
【输出格式】
一行:一个整数。
【输入样例】
10
5 3 2 1 4 5 3 6 9 12
2
2 4
3 5
【输出样例】
6
7
这道题很简单好吧,直接求和,时间不爆(我不理解)
#include<bits/stdc++.h>
using namespace std;
long long n,a[1000005],m,s,e,sum;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
cin>>m;
for(int i=1;i<=m;i++){
cin>>s>>e;
for(int i=s;i<=e;i++){
sum+=a[i];
}
cout<<sum<<endl;
sum=0;
}
return 0;
}