提交时间:2023-08-14 12:18:29
运行 ID: 98108
#include <bits/stdc++.h> #define mid (l + r >> 1) #define lc (id << 1) #define rc (id << 1 | 1) #define int long long using namespace std; int n, m, p, l, r, f1 = 1, f2 = 1, f3 = 1; int a[200005], sum[400005], sum1[200005]; signed main(){ cin >> n >> m >> p; for (int i = 1; i <= n; i++){ cin >> a[i]; if (a[i] < p) f3 = 0; } if (f3){ for (int i = 1; i <= n; i++) a[i] -= p, sum[i] = sum[i - 1] + a[i]; while(m--){ scanf("%d%d", &l, &r); printf("%lld\n", sum[r] - sum[l - 1]); } return 0; } while(m--){ scanf("%d%d", &l, &r); long long ans = 0; for (int i = l; i <= r; i++){ ans += a[i]; if (ans >= p) ans -= p; } printf("%lld\n",ans); } return 0; }