//TLEč§£ #include #include #include using namespace std; using namespace atcoder; using ll = long long; //#define endl "\n"; ll N, A[200009], sum[200009], Q, X[200009], Y[200009], L[200009], R[200009]; vector chg; ll ans = 0, organs = 0, deg[200009]; int main(){ cin >> N; for(int i = 1; i <= N; i++){ cin >> A[i]; sum[i] = sum[i - 1] + A[i]; } cin >> Q; for(int q = 1; q <= Q; q++){ cin >> X[q] >> Y[q] >> L[q] >> R[q]; chg.push_back(X[q]); } sort(chg.begin(), chg.end()); chg.erase(unique(chg.begin(), chg.end()), chg.end()); for(int q = 1; q <= Q; q++){ A[X[q]] = Y[q]; organs += sum[R[q]] - sum[L[q] - 1]; ll posl = lower_bound(chg.begin(), chg.end(), L[q]) - chg.begin(); ll posr = lower_bound(chg.begin(), chg.end(), R[q] + 1) - chg.begin(); for(int i = posl; i < posr; i++) deg[chg[i]]++; ans = organs; for(int i = 0; i < (int)chg.size(); i++) ans += (A[chg[i]] - (sum[chg[i]] - sum[chg[i] - 1])) * deg[chg[i]]; cout << ans << endl; } return 0; }