2017級演算法第二次上機-C.芸如的入學測試
阿新 • • 發佈:2018-12-11
這道題考察的實際就是一個簡單的字首和問題。值的注意的還是取模的問題。兩個數取模,以防萬一,出現對負數取模的問題 可以先加上mod然後再對mod取模。
能long long就不int
#include <algorithm> #include <iostream> using namespace std; const int maxlen = 1e6 + 10; const int mod = 10007; long long ar[maxlen]; long long prefix[maxlen]; int main(){ int n,q,l,r,i,j,k; prefix[i]=0; long long ans=0; while(~scanf("%d %d",&n,&q)){ for(i=1;i<=n;i++){ scanf("%lld",&ar[i]); prefix[i]=ar[i]+prefix[i-1]; } while(q--){ scanf("%d %d",&l,&r); ans=(prefix[r] - prefix[l] + ar[l]) % mod; printf("%lld\n",ans); } } return 0; }