求助 #1TLE
查看原帖
求助 #1TLE
977431
maoyuqi楼主2024/3/10 09:57
#include<bits/stdc++.h>
using namespace std;
const int N = 1e7+10;
char s[N];
int T;
int q,l,r;
int dx[N];
int main()
{
	scanf("%d",&T);
	while(T--)
	{
		memset(dx,0,sizeof(dx));
		scanf("%s",s);
		if(s[0]=='P') dx[0]=3;
		else if(s[0]=='p') dx[0]=2;
		else if(s[0]=='G') dx[0]=1;
		for(int i = 1;s[i];i++)
		{
			dx[i]+=dx[i-1];
			if(s[i]=='P') dx[i]+=3;
			else if(s[i]=='p') dx[i]+=2;
			else if(s[i]=='G') dx[i]+=1;
		}
		scanf("%d",&q);
		while(q--)
		{
			scanf("%d%d",&l,&r);
			cout<<dx[r-1]-dx[l-2]<<endl;
		}
	}
	return 0;
}
2024/3/10 09:57
加载中...