Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
98088 | wangjiajian | 早凉的程序2 | C++ | 解答错误 | 20 | 96 MS | 8060 KB | 942 | 2023-08-14 11:59:46 |
#include<bits/stdc++.h> #define ll long long using namespace std; int n, m, p, l, r, x, opt=1; ll ans, sum[1000006]; inline int read() { register char c; register bool flag = false; register int ret = 0; for(c=getchar(); c==' '||c=='\n'; c=getchar()); for(; c!=' '&&c!='\n'; c=getchar()) { if(c == '-') flag = true; else ret = (ret<<3)+(ret<<1)+c-'0'; } if(flag == false) return ret; else return (0-ret); } int main() { // freopen("programme.in", "r", stdin); // freopen("programme.out", "w", stdout); n = read(), m = read(), p = read(); for(register int i=1; i<=n; i++) { x = read(); if(x >= p) opt = 2; sum[i] = sum[i-1]+x; } if(opt == 1) { while(m--) { l = read(), r = read(); printf("%lld\n", (sum[r]-sum[l-1])%p); } } else { while(m--) { l = read(), r = read(); printf("%lld\n", (sum[r]-sum[l-1])-(ll)p*(r-l+1)); } } return 0; }