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

题目链接

方法一:纯模拟50分

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

方法二:前缀和

#include<bits/stdc++.h>
using namespace std;
int n, m;
int a[100010], per_sum[100010];
int l, r;
int ans;
int main()
{
cin>>n;
for(int i=1; i<=n; i++)cin>>a[i];
for(int i=1; i<=n; i++)per_sum[i]=per_sum[i-1]+a[i];//前缀和预处理
cin>>m;
while(m--){
ans=0;
cin>>l>>r;
cout<<per_sum[r]-per_sum[l-1]<<endl;
}
return 0;
}
posted @   TFLSNOI  阅读(123)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
历史上的今天:
2020-02-11 二分套二分好题
点击右上角即可分享
微信分享提示