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