真·最完整的题解
2022-12-04 11:24:31
发布于:江苏
46阅读
0回复
0点赞
首先,输入一次扫一次数组肯定不行,会TLE
因此,用前缀和数组一减就行
#include <iostream>
using namespace std;
long long x[100005]= {};
long long s[100005]= {};
long long n,m;
int main()
{
cin>>n>>m;
for (int i=1; i<=n; i++) //避免s[i-1]=-1
{
cin>>x[i];
s[i]=s[i-1]+x[i]; //预处理前缀和
}
while (m--){
int l,r;
cin>>l>>r;
cout<<s[r]-s[l-1]<<endl; //直接求答案
}
return 0;
}
这里空空如也
有帮助,赞一个