提交时间:2023-08-14 12:24:31
运行 ID: 98167
#include<bits/stdc++.h> #define int long long using namespace std; int n,m,mod; const int N=2e5+7; int a[N]; int sum[N]; int flag1=0,flag2=0; signed main() { ios::sync_with_stdio(false); cin.tie(0);cout.tie(0); cin>>n>>m>>mod; for(int i=1;i<=n;i++) { cin>>a[i]; if(a[i]<0) flag1=1,flag2=1; if(a[i]>=mod) flag1=1; if(a[i]<mod) flag2=1; sum[i]=sum[i-1]+a[i]; } if(!flag1) { while(m--) { int l,r; cin>>l>>r; int ans=(sum[r]-sum[l-1]); cout<<ans%mod<<endl; } return 0; } if(!flag2) { while(m--) { int l,r; cin>>l>>r; int ans=(sum[r]-sum[l-1]); cout<<ans-(r-l+1)*mod<<endl; } return 0; } while(m--) { int l,r; cin>>l>>r; int ans=(sum[r]-sum[l-1]); if(ans<=0) cout<<ans<<endl; else cout<<ans%mod<<endl; } return 0; } /* 4 5 6 15 12 14 13 2 3 1 3 1 2 2 4 4 4 */