比赛 测试 评测结果 AAAAAAAAAAAAAAA
题目名称 数列操作A 最终得分 100
用户昵称 Menamovic 运行时间 0.264 s
代码语言 C++ 内存使用 1.27 MiB
提交时间 2017-04-11 20:31:06
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
const int L=200000;
const int MAXC=2333;
int T[L];
char b[L];
int n,m;
int i,j;
int u,v;
int ans;
int lowbit(int x)
{
	return x&(-x);
}
void ADD(int x,int c)
{
	while(x<=n)
	{
		T[x]+=c;
		x+=lowbit(x);
	}
}
int sum(int x)
{
	int ret=0;
	while(x>0)
	{
		ret+=T[x];
		x-=lowbit(x);
	}
	return ret;
}
int SUM(int l,int r)
{
	return sum(r)-sum(l-1);
}
int main()
{
	freopen("shulie.in","r",stdin);
	freopen("shulie.out","w",stdout);
	int tt;
	scanf("%d",&n);
	memset(T,0,sizeof(T));
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&tt);
		ADD(i,tt);
	}
	scanf("%d",&m);
	while(m--)
	{
		scanf("%s%d%d",b,&u,&v);
		if(b[0]=='S')
		{
			int ans=sum(v)-sum(u-1);
			printf("%d\n",ans);
		}else
		{
			ADD(u,v);
		}
	}
	return 0;
}