「模板」前缀和

发布时间 2023-05-03 09:58:44作者: nasia

阿巴阿巴阿巴输入n个数,给出m个询问,询问区间[x,y]的和。

输入

第一行为n和m,1<=n,m<=100000

接下来一行为n个数,范围在0~100000之间

接下来m行,每行两个数x,y,输出第x个数到第y个数之间所有数的和。保证x<=y

输出

m个数

tips:

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 long long a[100001],b[100001],ans[100001];
 4 long long m,n,x,y;
 5 int main(){
 6     cin>>n>>m;
 7     b[0]=0;
 8     for(int i=1;i<=n;i++){
 9         cin>>a[i];
10         b[i]=a[i]+b[i-1];
11     }
12     for(int i=1;i<=m;i++){
13         cin>>x>>y;
14         ans[i] = b[y]-b[x-1];    
15     } 
16     for(int i = 1;i<=m;i++) cout<<ans[i]<<endl;
17 }