1. 程式人生 > >2017級演算法第二次上機-C.芸如的入學測試

2017級演算法第二次上機-C.芸如的入學測試

這道題考察的實際就是一個簡單的字首和問題。值的注意的還是取模的問題。兩個數取模,以防萬一,出現對負數取模的問題 可以先加上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; }