记录编号 390659 评测结果 AAAAAAAAA
题目名称 数列操作B 最终得分 100
用户昵称 GravatarTARDIS 是否通过 通过
代码语言 C++ 运行时间 0.036 s
提交时间 2017-04-03 17:22:24 内存使用 0.39 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<stack>
#include<queue>
#include<cstring>
#include<deque>
#define itn int
#define coder goodboy
using namespace std;
typedef long long LL;typedef unsigned long long ULL;
const int maxn=100010;
int n,m,c[maxn];
inline int low_bit(int x){
	return x&(-x);
}
inline void Add(int i,int x){
	while (i<=n){
		c[i]+=x;
		i+=low_bit(i);
	}
}
inline void add(int l,int r,int x){
	int p=l;
	while (p<=n){
		c[p]+=x;
		p+=low_bit(p);
	}
	p=r+1;
	while (p<=n){
		c[p]-=x;
		p+=low_bit(p);
	}
}
inline int query(int k){
	int sum=0;
	while (k){
		sum+=c[k];
		k-=low_bit(k);
	}
	return sum;
}
inline void in(){
	freopen("shulieb.in","r",stdin);
	freopen("shulieb.out","w",stdout);
	scanf("%d",&n);
}
inline void work(){
	int x=0,y=0,z;
	for (int i=1;i<=n;i++){
		scanf("%d",&y);
		z=y-x;
		x=y;
		Add(i,z);
	}
	scanf("%d",&m);
	for (int i=1;i<=m;i++){
		int a,b,temp;char s[5];
		scanf("%s",s);
		if (s[0]=='A') {
			scanf("%d%d%d",&a,&b,&temp);
			add(a,b,temp);
		}
		else {
			scanf("%d",&a);
			printf("%d\n",query(a));
		}
	}
}
int Main(){
	in();
	work();
	return 0;
}
int main(){;}
int goodboy=Main();