func_code_string: #include <bits/stdc++.h>   using namespace std;   int N;   typedef struct Nodo {     long long int v, l;   } Nodo;   int S;   Nodo segtree[2000024];   inline void st_init(int N) {     if (__builtin_popcount(N) <= 1) {       S = N;     } else {       for (; __builtin_popcount(N) > 1; N -= N & -N)         ;       S = N << 1;     }     memset(segtree, 0, (sizeof(Nodo) * S) << 1);   }   inline void st_deflag(int p) {     long long int l = segtree[p].l;     if (!l) {       return;     }     if (p < S) {       long long int &a = segtree[p << 1].l;       long long int &b = segtree[(p << 1) + 1].l;       a = l;       b = l;     }     segtree[p].v = l;     segtree[p].l = 0;   }   inline void st_update(int n) {     long long int l = segtree[n << 1].v;     long long int r = segtree[(n << 1) + 1].v;     segtree[n].v = (l > r ? l : r);   }   void st_set(int n, int a, int b, int i, int f, long long int v) {     st_deflag(n);     if (i >= a && f <= b) {       segtree[n].l = v;       st_deflag(n);       return;     } else if (f < a || i > b) {       return;     }     int d = ((f - i) >> 1) + 1;     st_set(n << 1, a, b, i, f - d, v);     st_set((n << 1) + 1, a, b, i + d, f, v);     st_update(n);   }   long long int st_query(int n, int a, int b, int i, int f) {     st_deflag(n);     if (i >= a && f <= b) {       return segtree[n].v;     } else if (f < a || i > b) {       return -0x3f3f3f3f3f3f3f3fll;     }     int d = ((f - i) >> 1) + 1;     long long int r1 = st_query(n << 1, a, b, i, f - d);     long long int r2 = st_query((n << 1) + 1, a, b, i + d, f);     return (r1 > r2 ? r1 : r2);   }   int M;   int W, H;   int main() {     int i, a;     long long R;     scanf( %d , &N);     st_init(N);     for (i = 0; i < N; i++) {       scanf( %d , &a);       st_set(1, i, i, 0, S - 1, (long long)a);     }     scanf( %d , &M);     for (i = 0; i < M; i++) {       scanf( %d %d , &W, &H);       R = st_query(1, 0, (W - 1 < N - 1 ? W - 1 : N - 1), 0, S - 1);       printf( %I64d n , R);       st_set(1, 0, (W - 1 < N - 1 ? W - 1 : N - 1), 0, S - 1, R + (long long)H);     }     return 0;   }   