记录编号 |
446073 |
评测结果 |
AAAAAAAAAAAAAAA |
题目名称 |
数列操作A |
最终得分 |
100 |
用户昵称 |
Hyoi_0Koto |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.372 s |
提交时间 |
2017-09-07 16:14:44 |
内存使用 |
3.01 MiB |
显示代码纯文本
#prag\
ma GCC optimize("O3")
#include<cstdio>
#include<cctype>
#define loop(i,j,k) for(int i=j;i<=k;i++)
inline void in(int &x){
x=0;int f=1;char c=getchar();
while(!isdigit(c)){if(c=='-')f=-1;c=getchar();}
while (isdigit(c))x=(x<<3)+(x<<1)+(c^48),c=getchar();
x*=f;
}
inline void out(int x){
if(!x){putchar('0');return;}
if(x<0)x=~x+1,putchar('-');
char c[30]={0};
while(x)c[++c[0]]=x%10+48,x/=10;
while(c[0])putchar(c[c[0]--]);
}
const int maxn=500001;
int n,m,a[maxn],t[maxn],p,x,y;
char c[3];
inline int lowbit(int x){
return x&(-x);
}
inline void add(int a,int p){
while(p<=n) t[p]+=a,p+=lowbit(p);
}
inline int sum(int p){
int s=0;
while(p>0) s+=t[p],p-=lowbit(p);
return s;
}
inline int poi(){
freopen("shulie.in","r",stdin);
freopen("shulie.out","w",stdout);
in(n);loop(i,1,n) in(a[i]),add(a[i],i);in(m);
loop(i,1,m){
scanf("%s",c);in(x);in(y);
if(!(c[0]-'A')) add(y,x);else out(sum(y)-sum(x-1)),putchar('\n');
}
}
int yuudachi=poi();
int main(){;}