记录编号 286644 评测结果 AAAAAAAAA
题目名称 数列操作B 最终得分 100
用户昵称 Gravatar安呐一条小咸鱼。 是否通过 通过
代码语言 C++ 运行时间 0.124 s
提交时间 2016-07-31 20:43:43 内存使用 0.94 MiB
显示代码纯文本
#include<cstdio>
int tree[100100],a[100100],sum,n,m,q,b,c;char ch[7];
int lowbit(int x){return x&(-x);}
void add(int s,int w){for(int i=s;i<=n;i+=lowbit(i))tree[i]+=w;}
int getsum(int x){int ans=0;for(int i=x;i>0;i-=lowbit(i))ans+=tree[i];return ans;}
int main(){
freopen("shulieb.in","r",stdin);freopen("shulieb.out","w",stdout);
	scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%d",&a[i]);
	scanf("%d",&m);
	for(int i=1;i<=m;i++){
		scanf("%s%d",ch,&q);
		if(ch[0]=='Q'){
			printf("%d",getsum(q)+a[q]);
		}else{
			scanf("%d%d",&b,&c);
			add(q,c);
			add(b+1,(-c));
		}
	}return 0;
}