Advertisement
Guest User

Untitled

a guest
Apr 30th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.98 KB | None | 0 0
  1. # include <bits/stdc++.h>
  2.  
  3. # define fi first
  4. # define se second
  5. # define mp make_pair
  6. # define INF ll(1e9)
  7.  
  8. using namespace std;
  9.  
  10. typedef long long ll;
  11.  
  12. ll t[555555],n,k;
  13.  
  14. ll sum(ll v,ll tl,ll tr,ll l,ll r){
  15. if(l>r){
  16. return 0;
  17. }
  18. if(l==tl&&r==tr){
  19. return t[v];
  20. }
  21. ll tm=(tl+tr)/2;
  22. return sum(v*2,tl,tm,l,min(r,tm))+sum(v*2+1,tm+1,tr,max(l,tm+1),r);
  23. }
  24. void upd(ll v,ll tl,ll tr,ll pos,ll val){
  25. if(tl==tr){
  26. t[v]=val;
  27. return;
  28. }
  29. ll tm=(tl+tr)/2;
  30. if(pos<=tm){
  31. upd(v*2,tl,tm,pos,val);
  32. }
  33. else{
  34. upd(v*2+1,tm+1,tr,pos,val);
  35. }
  36. t[v]=t[v*2]+t[v*2+1];
  37. }
  38. int main(){
  39. freopen("sum.in","r",stdin);
  40. freopen("sum.out","w",stdout);
  41. cin>>n>>k;
  42. while(k--){
  43. char t;
  44. ll l,r;
  45. cin>>t>>l>>r;
  46. if(t=='A'){
  47. upd(1,1,n,l,r);
  48. }
  49. else{
  50. cout<<sum(1,1,n,l,r)<<"\n";
  51. }
  52. }
  53. return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement