题解 | 舞萌时间到!
舞萌时间到!
https://www.nowcoder.com/practice/cef5fe464ca54a10ba1b4374f423f09c
#include <bits/stdc++.h>
using namespace std;
const int N=1e6+1;
int a[N];
int f[N];
int main(){
string s;
cin>>s;
int len=s.length();
for(int i=0;i<len;i++){
if(s[i]=='P') a[i]=3;
else if(s[i]=='p') a[i]=2;
else if(s[i]=='G') a[i]=1;
else if(s[i]=='g') a[i]=0;
else a[i]=0;
}
f[0]=a[0];
for(int i=1;i<len;i++){
f[i]=f[i-1]+a[i];
}
int q;cin>>q;
while(q--){
int l,r;
cin>>l>>r;
cout<<f[r-1]-f[l-2]<<endl;
}
return 0;
}