void build() { for (int i = 1; i <= n; ++i) d[i] = a[i] - a[i - 1]; } void update(int l, int r, int x) { d[l] += x, d[r + 1] -= x; } int query(int i) { int res = 0; for (int x = 1; x <= i; ++x) res += d[x]; return res; }