#include<bits/stdc++.h>
using namespace std;
long long b[100005],n,m,i,j,a[100005],l,r,bb;
long long anyu(long long a){
long long r = 1;
for(int i = 1; i <= 1000000005; i <<= 1,a = a * a % 1000000007){
if(i & 1000000005){
r = r * a % 1000000007;
}
}
return r;
}
long long pow1(long long a,long long b){
long long j,s = 1,t = a;
for(j = 1; j <= b; j <<= 1,t = t * t % 1000000007){
s = s * t % 1000000007;
}
return s;
}
int main(){
ios::sync_with_stdio(false);
cin >> n >> m >> bb;
for(i = 1; i <= n; i++){
cin >> a[i];
}
for(i = 1; i <= n; i++){
b[i] = (b[i - 1] * bb + a[i]) % 1000000007;
}
for(i = 1; i <= m; i++){
cin >> l >> r;
cout<< (b[r] - anyu(b[l - 1]) * pow1(b,r - l + 1) % 1000000007 << endl;
}
return 0;
}
报错信息:
31 51 F:\c+++++++++++++++++\luogu.cpp [Error] invalid conversion from 'long long int*' to 'long long int' [-fpermissive]
13 11 F:\c+++++++++++++++++\luogu.cpp [Error] initializing argument 1 of 'long long int pow1(long long int, long long int)' [-fpermissive]
31 69 F:\c+++++++++++++++++\luogu.cpp [Error] invalid operands of types 'long long int' and '<unresolved overloaded function type>' to binary 'operator<<'
31 73 F:\c+++++++++++++++++\luogu.cpp [Error] expected ')' before ';' token
全局变量、函数返回值、参数的类型都改了几遍了,还是不停报错!
验证码jcka