#pragma GCC optimize ("O3") #pragma GCC optimize ("unroll-loops") #pragma GCC target ("avx") #include #include #include #define MAX_N 100000 int main(void) { size_t n, q; scanf("%zu%zu", &n, &q); int64_t a[MAX_N]; for (size_t i = 0; i < n; ++i) { scanf("%" SCNd64, &a[i]); } for (size_t i = 0; i < q; ++i) { size_t t, l, r; int64_t x; scanf("%zu%zu%zu%" SCNd64, &t, &l, &r, &x); int64_t sum = 0; for (size_t j = l - 1; j <= r - 1; ++j) { if (a[j] - x > 0) { sum += a[j] - x; } } printf("%" PRId64 "\n", sum); } }