记录编号 228488 评测结果 AAAAAAAAA
题目名称 1316.数列操作B 最终得分 100
用户昵称 安呐一条小咸鱼。 是否通过 通过
代码语言 C++ 运行时间 0.063 s
提交时间 2016-02-19 11:36:23 内存使用 1.05 MiB
显示代码纯文本
#include<cstdio>
int c[100050];
int shu[100050];int n;
inline int QuickRead() {
	int zf = 1, ret = 0;
	char ch = getchar();
	while ((ch < '0' || ch > '9') && ch != '-') ch = getchar();
	if (ch == '-') zf = -1;
	else ret = ch - '0';
	ch = getchar();
	while (ch >= '0' && ch <= '9') {
		ret = ret * 10 + ch - '0';
		ch = getchar();
	}
	return ret*zf;
}
int Lowbit(int x)
{
	return x&(-x);
}
void Update(int r,int w)
{
	for(int i=r;i<=n;i+=Lowbit(i))c[i]+=w;
}
int Get_sum(int x)
{
	//if(x==0)return 0;
	int ans=0;
	for(int i=x;i>0;i-=Lowbit(i))ans+=c[i];
	return ans;
}
int main()
{
	freopen("shulieb.in","r",stdin);
	freopen("shulieb.out","w",stdout);
	n=QuickRead();
	for(int i=1;i<=n;++i)
	{
		shu[i]=QuickRead();
	}
	int a,b,c,m;
	char ch[10];
	m=QuickRead();
	while(m--)
	{
		scanf("%s%d",ch,&a);
		if(ch[0]=='Q')
		{
			printf("%d\n",Get_sum(a)+shu[a]);
		}
		else
		{
			b=QuickRead();
			c=QuickRead();
			Update(a,c);
			Update(b+1,(-c));
		}
	}
	return 0;
}