#include <bits/stdc++.h>
using namespace std;
long long a[100010];
long long dif[100010];
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) scanf("%lld", &a[i]);
  for (int i = 1; i <= n - 1; i++) {
    dif[i] = a[i + 1] - a[i];
  }
  long long d = 0;
  for (int i = 1; i <= n - 1; i++)
    if (dif[i] > 0) d += dif[i];
  int q;
  scanf("%d", &q);
  printf("%lld\n",
         ((a[1] + d) % 2) ? (((a[1] + d) >> 1) + 1) : (a[1] + d) >> 1);
  for (int i = 0; i < q; i++) {
    int l, r;
    long long x;
    scanf("%d%d%lld", &l, &r, &x);
    if (l == 1) a[1] += x;
    if (l != 1) {
      dif[l - 1] += x;
      if (dif[l - 1] > 0)
        d += dif[l - 1] - (dif[l - 1] - x > 0 ? (dif[l - 1] - x) : (0));
      else
        d -= ((dif[l - 1] - x) > 0 ? (dif[l - 1] - x) : (0));
    }
    if (r != n) {
      dif[r] -= x;
      if (dif[r] > 0)
        d += dif[r] - (dif[r] + x > 0 ? (dif[r] + x) : (0));
      else
        d -= (dif[r] + x > 0 ? (dif[r] + x) : (0));
    }
    printf("%lld\n",
           ((a[1] + d) % 2) ? (((a[1] + d) >> 1) + 1) : (a[1] + d) >> 1);
  }
  return 0;
}
