Advertisement
Guest User

Untitled

a guest
Mar 20th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.96 KB | None | 0 0
  1. #include <iostream>
  2. #include <math.h>
  3. using namespace std;
  4. int t[100000];
  5. int kubelki [320];
  6. int n = 317;
  7. void Update (int i, int x){
  8.     int zmiana = x - t[i];
  9. t[i-1] = x;
  10. int g = i / n;
  11. kubelki[g] = kubelki[g] + zmiana;
  12. }
  13. long long Query (int p, int k){
  14.     long long suma = 0;
  15.     int l,r;
  16.      l = p;
  17.      r = k;
  18.      
  19.     int g = l / n; //lewy
  20.  int f = (g+1)*n; //lewy
  21.  int c = r / n; // prawy
  22.     int o = (c+1)*n; //prawy
  23.  if (r <= n){
  24.  
  25. for (int i = p-1; i <= k-1; i++ ){
  26.     suma  += t[i];
  27. }
  28. return suma;
  29. }
  30. for (int i = l; i <= f; i++ ){
  31.     suma +=  t[i]
  32. }
  33.     for (int i = o; i <= r; i++){
  34.         suma += t[i];
  35.     }
  36.     if (c != g){
  37.    
  38.     for (int i = g+1; i <= c-1; i++){
  39.         suma +=  kubelki [i];
  40.     }
  41.    
  42.     }
  43. return suma;
  44.    
  45. }
  46. int main(){
  47.     int x;
  48.     cin >> x;
  49.      string s;
  50.     int a,b;
  51.     for (int i = 0; i < x; i++){
  52.         cin >> s;
  53.         cin >> a >> b;
  54.         if (s == "Query"){
  55.             cout << Query(a,b) << endl;
  56.             continue;
  57.         }
  58.         Update (a,b);
  59.        
  60.        
  61.     }
  62.    
  63.    
  64.    
  65.    
  66.     return 0;
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement