#include<bits/stdc++.h>
using namespace std;
int a[100010]={};
int s[100010]={};
int main(){
int n,m;
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];
s[1]=a[1];
for(int i=2;i<=n;i++)s[i]=s[i-1]+a[i];
cin>>m;
int c;
int L,R;
int k,num;
for(int i=1;i<=m;i++){
cin>>c;
if(c==1){
cin>>L>>R;
cout<<s[R]-s[L-1]<<endl;
}else{
cin>>k>>num;
a[k]=num;
s[1]=a[1];
for(int j=2;j<=n;j++) s[j]=s[j-1]+a[j];
}
}
return 0;
}
4436 混合操作 前缀和、差分
最新推荐文章于 2024-08-04 20:12:53 发布
本文描述了一个C++程序,用于处理输入的整数数组,包括计算区间内的元素和以及在特定索引处动态更新数组后重新计算区间差。程序通过两次遍历实现了功能。
摘要由CSDN通过智能技术生成