paraschhabra96

Untitled

Sep 18th, 2016
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.73 KB | None | 0 0
  1. from fractions import *
  2. N=int(raw_input())
  3. arr=raw_input().split()
  4. intarr=[]
  5. Fs={}
  6.  
  7. def F(x):
  8. if(Fs.get(x)==None):
  9. ans=0
  10. for i in xrange(1,x+1):
  11. g=gcd(i,x)
  12. ans=ans+int((i/g))
  13. Fs[x]=ans
  14. else:
  15. ans=Fs[x]
  16.  
  17. return ans
  18.  
  19. def solve(X,Y):
  20. summ=0
  21. for i in xrange(X,Y+1):
  22. summ=summ+F(intarr[i-1])
  23. if(summ>=1000000007):
  24. summ=summ-1000000007
  25. return summ
  26.  
  27. for i in arr:
  28. intarr.append(int(i))
  29. Nquer=int(raw_input())
  30. for i in xrange(0,Nquer):
  31. quer=raw_input().split()
  32. if(quer[0]=='U'):
  33. intarr[int(quer[1])-1]=int(quer[2])
  34. else:
  35. ans=solve(int(quer[1]),int(quer[2]))
  36. print(ans)
Add Comment
Please, Sign In to add comment