#include <bits/stdc++.h>
using namespace std;
long long bit[100005];
int n;
void update(long long i, long long a) {
  while (i <= n) {
    bit[i] = max(bit[i], a);
    i += i & -i;
  }
}
long long read(long long i) {
  long long r = 0;
  while (i > 0) {
    r = max(bit[i], r);
    i -= i & -i;
  }
  return r;
}
int main() {
  int a, m, h, w;
  scanf(" %d", &n);
  memset(bit, 0, sizeof(bit));
  for (int i = 1; i <= n; i++) {
    scanf(" %d", &a);
    update(i, a);
  }
  scanf(" %d", &m);
  for (int i = 0; i < m; i++) {
    scanf(" %d %d", &w, &h);
    long long t = read(w);
    printf("%I64d\n", t);
    update(1, t + h);
  }
  return 0;
}
