Advertisement
Josif_tepe

Untitled

Dec 24th, 2021
1,122
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. using namespace std;
  3.  
  4.  
  5. int main()
  6. {
  7.     int n;
  8.     cin >> n;
  9.     int niza[n];
  10.     for(int i = 0; i < n; i++) {
  11.         cin >> niza[i];
  12.     }
  13.     int Q;
  14.     cin >> Q;
  15.     int zadaci[Q][2];
  16.     for(int i = 0; i < Q; i++) {
  17.         cin >> zadaci[i][0] >> zadaci[i][1];
  18.     }
  19.    
  20.     // kako se pravi prefix sum?
  21.     // prvo pravime nova niza, so ista golemina ko nizata na koja sakame
  22.     // da presmetuvame zbir
  23.    
  24.     int prefix_sum[n];
  25.     int zbir = 0;
  26.     // treba da ja pomineme sega nizata
  27.     for(int i = 0; i < n; i++) {
  28.         zbir += niza[i];
  29.         prefix_sum[i] = zbir;
  30.     }
  31.    
  32.     for(int i = 0; i < Q; i++) {
  33.         int S = zadaci[i][0]; // poceten indeks
  34.         int E = zadaci[i][1]; // kraen indeks
  35.         if(S == 0) {
  36.             cout << prefix_sum[E] << endl;
  37.         }
  38.         else {
  39.             cout << (prefix_sum[E] - prefix_sum[S - 1]) << endl;
  40.         }
  41.     }
  42.    
  43.     return 0;
  44. }
  45.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement