Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
98147 CSYZHeYixuan 早凉的程序2 C++ 运行超时 20 4000 MS 8084 KB 1223 2023-08-14 12:22:22

Tests(2/6):


#include<bits/stdc++.h> using namespace std; #define int long long const int MX=2e6+100; int n,m,mod,a[MX],s[MX]; bool oka,okb,okc,okd; signed main(){ ios::sync_with_stdio(0); cin>>n>>m>>mod; for(int i=1;i<=n;i++){ cin>>a[i]; if(a[i]>=mod||a[i]<0) oka=1; if(a[i]<mod) okb=1; } for(int i=1;i<n;i++){ if(a[i]>a[i+1]) okc=1; if(a[i]<a[i+1]) okd=1; } if(!oka){ for(int i=1;i<=n;i++){ s[i]=s[i-1]+a[i]; } for(int i=1;i<=m;i++){ int l,r; cin>>l>>r; cout<<(s[r]-s[l-1])%mod<<'\n'; } return 0; } if(!okb){ for(int i=1;i<=n;i++){ s[i]=s[i-1]+a[i]; } for(int i=1;i<=m;i++){ int l,r; cin>>l>>r; cout<<s[r]-s[l-1]-(r-l+1)*mod<<'\n'; } return 0; } if(!okc){ for(int i=1;i<=n;i++) s[i]=s[i-1]+a[i]; for(int i=1;i<=m;i++){ int sl,sr; cin>>sl>>sr; int l=sl-1,r=sr; while(l<r){ int mid=l+r+1>>1; if(s[mid]-s[sl-1]<mod) l=mid; else r=mid-1; } cout<<s[sr]-s[sl-1]-mod*(sr-l)<<'\n'; } return 0; } for(int i=1; i<=m; ++i) { int l,r; cin>>l>>r; long long ans=0; for(int j=l; j<=r; ++j) { ans+=a[j]; if(ans>=mod) ans-=mod; } cout<<ans<<'\n'; } return 0; }


测评信息: