#include <bits/stdc++.h>
using namespace std;
const int M = 1e5 + 5;
long long D[M];
long long A[M];
void solve() {
  int n, m;
  cin >> n;
  for (int i = 1; i <= n; i++) cin >> A[i];
  for (int i = 1; i <= n; i++) {
    D[i] = A[i] - A[i - 1];
  }
  long long sum = D[1];
  for (int i = 2; i <= n; i++) {
    if (D[i] > 0) sum += D[i];
  }
  cout << max(sum / 2, sum - sum / 2) << '\n';
  cin >> m;
  for (int i = 1; i <= m; i++) {
    long long l, r, x;
    cin >> l;
    cin >> r;
    cin >> x;
    if (l == 1) {
      sum += x;
      D[l] += x;
    } else {
      long long pre = D[l];
      D[l] += x;
      if (pre > 0) sum -= pre;
      if (D[l] > 0) sum += D[l];
    }
    if (r + 1 <= n) {
      long long pre = D[r + 1];
      D[r + 1] -= x;
      if (pre > 0) sum -= pre;
      if (D[r + 1] > 0) sum += D[r + 1];
    }
    cout << max(sum / 2, sum - sum / 2) << '\n';
  }
}
int main() {
  solve();
  return 0;
}
