提交时间:2023-08-14 12:25:29

运行 ID: 98179

#include<bits/stdc++.h> using namespace std; const int maxn=100020; int n,m,p,l,r,a[maxn]; long long b[maxn]; void solve1(){ while(m--){ scanf("%d%d",&l,&r); printf("%lld\n",b[r]-b[l-1]-p*(r-l+1)); } } void solve2(){ while(m--){ scanf("%d%d",&l,&r); printf("%lld\n",(b[r]-b[l-1])%p); } } int main(){ scanf("%d%d%d",&n,&m,&p); for(int i=1;i<=n;i++) scanf("%d",a+i); b[0]=0; for(int i=1;i<=n;i++) b[i]=a[i]+b[i-1]; if(a[1]<p)solve2(); else solve1(); return 0; }