题目
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 2e5+10;
int a[N], t[N], tcnt[N], kp[N];
signed main() {
int n;
cin >> n;
for (int i = 0; i < n; i++)
cin >> a[i];
int q, tmp = 0, kt = 0;
cin >> q;
int kcnt = 0;
while (q -- ) {
tmp++;
int op, k, i;
cin >> op;
if (op == 1) {
cin >> k;
kt = tmp;
kp[kcnt] = k;
kcnt++;
}
if (op == 2) {
cin >> i >> k;
if (tcnt[i - 1] > kt || kt == 0) {
a[i - 1] += k;
} else {
a[i - 1] = kp[kcnt - 1] + k;
tcnt[i - 1] = tmp;
}
}
if (op == 3) {
cin >> i;
if (tcnt[i - 1] > kt) {
cout << a[i - 1] << endl;
} else if (kt == 0) {
cout << a[i - 1] << endl;
} else {
cout << kp[kcnt - 1] << endl;
tcnt[i - 1] = tmp;
}
}
}
return 0;
}