fork(2) download
  1. a=[]
  2. mn=[int(0) for i in range(264144)]
  3. sum=[int(0) for i in range(264144)]
  4.  
  5.  
  6. def query_sum(l,r,i,x,y):
  7. if (x>r or y<l or l>r):return int(0)
  8. if (x<=l and y>=r):return int(sum[i])
  9. mid = int((l+r)/2)
  10. left = int(2*i+1)
  11. right = int(left+1)
  12. return query_sum(l,mid,left,x,y)+query_sum(mid+1,r,right,x,y)
  13.  
  14. def query_min(l,r,i,x,y):
  15. if (x>r or y<l or l>r):return int(1000000000)
  16. if (x<=l and y>=r):return int(mn[i])
  17. mid = int((l+r)/2)
  18. left = int(2*i+1)
  19. right = int(left+1)
  20. return min(query_min(l,mid,left,x,y),query_min(mid+1,r,right,x,y))
  21.  
  22. def update(l,r,i,p,v):
  23. if (p<l or p>r or l>r):return int(0)
  24. if (l==r):
  25. sum[i]+=int(v)
  26. mn[i]=int(sum[i])
  27. return int(0)
  28. mid = int((l+r)/2)
  29. left = int(2*i+1)
  30. right = int(left+1)
  31. update(l,mid,left,p,v)
  32. update(mid+1,r,right,p,v)
  33. sum[i]=int(sum[left]+sum[right])
  34. mn[i]=int(min(mn[left]+mn[right]))
  35. return 0
  36.  
  37. def buildtree(l,r,i):
  38. if (l>r):return 0
  39. if (l==r):
  40. mn[i]=int(a[l])
  41. sum[i]=int(a[l])
  42. return 0
  43. mid = (int)((l+r)/2)
  44. left = int(2*i+1)
  45. right = int(left+1)
  46. buildtree(l,mid,left)
  47. buildtree(mid+1,r,right)
  48. sum[i]=int(sum[left]+sum[right])
  49. mn[i]=int(min(mn[left],mn[right]))
  50. return 0
  51.  
  52. n=input()
  53. a=raw_input().split()
  54. for i in range(n):
  55. a[i]=eval((a[i]))
  56. buildtree(0,n-1,0)
  57. q=input()
  58. while (q):
  59. s,x,y=raw_input().split()
  60. x=eval(x)
  61. y=eval(y)
  62. if (s[0]=='C'):print(query_sum(0,n-1,0,x,y)-query_min(0,n-1,0,x,y))
  63. elif (s[0]=='G'):w=update(0,n-1,0,y,x)
  64. else:w=update(0,n-1,0,y,int(-x))
  65. q-=1
  66.  
Runtime error #stdin #stdout #stderr 0.24s 9120KB
stdin
10
6 5 12 48 3 20 4 2 3 7
6
COUNT 2 4
COUNT 7 9
GROW 12 4
COUNT 2 4
EAT 6 9
COUNT 7 9
stdout
60
10
stderr
Traceback (most recent call last):
  File "prog.py", line 63, in <module>
  File "prog.py", line 31, in update
  File "prog.py", line 32, in update
  File "prog.py", line 34, in update
TypeError: 'int' object is not iterable