小心TLE!
2025-07-11 10:53:04
发布于:浙江
4阅读
0回复
0点赞
注意
这样会超时:
#include<bits/stdc++.h>
using namespace std;
int main(){
int m,n,a[114514];
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=1;i<=m;i++){
int l,r,sum=0;
cin>>l>>r;
for(int i=l;i<=r;i++)sum+=a[i];
cout<<sum<<endl;
}
return 0;
}
正解
#include<bits/stdc++.h>
using namespace std;
int main(){
int m,n,a[114514],s[114514];
cin>>n>>m;
s[0]=0;
for(int i=1;i<=n;i++){cin>>a[i];s[i]=s[i-1]+a[i];}
while(m--){
int l,r;
cin>>l>>r;
cout<<s[r]-s[l-1]<<endl;
}
return 0;
}
这里空空如也
有帮助,赞一个