记录编号 557019 评测结果 AAAAAAAAAAAAAAA
题目名称 数列操作B 最终得分 100
用户昵称 GravatarShallowDream雨梨 是否通过 通过
代码语言 C++ 运行时间 2.687 s
提交时间 2020-11-02 11:11:47 内存使用 19.87 MiB
显示代码纯文本
#include<bits/stdc++.h>
    #define int long long
    #define re register
    #define il inline
    #define inf 2e10
    #define eps 1e-15
    #define ll long long
    #define mod 1000000007
    #define lowbit(p) p&(-p)
    #define bianli for(int i=head[x];i;i=a[i].next)
    #define QWQ cout<<"qwq"
    #define me(qw) memset(qw,0,sizeof(qw));
    #define meinf(qw) memset(qw,-0x3f,sizeof(qw));
    using namespace std;
    const int maxn=1e6+5;
 	int n,m,a[maxn];
 	void insert(int k,int x){
 	while(k<=n){
 	a[k]+=x;
 	k+=lowbit(k);}}
 	
 	int ask(int x){
 	int ans=0;
 	while(x){
 	ans+=a[x];
 	x-=lowbit(x);}
 	return ans;
 	}
	signed main(){
	freopen("shulieb.in","r",stdin);
 	freopen("shulieb.out","w",stdout);
 	int w,e,r,last=0;
 	char q[10]; 
 	cin>>n;
 	for(int i=1;i<=n;i++)
 	cin>>w,insert(i,w-last),last=w;
 	cin>>m;
 	while(m--){
 	cin>>q;
 	if(q[0]=='A')cin>>w>>e>>r,insert(w,r),insert(e+1,-r);
 	else cin>>w,cout<<ask(w)<<endl;
 	}
 	
	return 0;
}