AcWing 4888. 领导者
原题链接
简单
作者:
最后五分钟
,
2025-03-22 19:59:05
·江西
,
所有人可见
,
阅读 4
using namespace std;
const int N=1e5+10;
int a[N],b[N];
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
// fstream cin;
// cin.open("in.txt",ios::in);
int n;
cin>>n;
string s;
cin>>s;
s=" "+s;
for(int i=1;i<=n;i++)
{
if(s[i]=='G')a[i]=1;
else a[i]=0;
}
for(int i=1;i<=n;i++)cin>>b[i];
int ga,gb,ha,hb;
for(int i=1;i<=n;i++)
if(a[i]==1)
{
ga=i;
break;
}
for(int i=1;i<=n;i++)
if(a[i]==0)
{
ha=i;
break;
}
for(int i=n;i>=1;i--)
if(a[i]==1)
{
gb=i;
break;
}
for(int i=n;i>=1;i--)
if(a[i]==0)
{
hb=i;
break;
}
int ans=0;
if(b[ga]>=gb&&b[ha]>=hb)ans++;
int ok=1;
for(int i=1;i<=n;i++)
{
if(i<ga&&a[i]==0&&b[i]>=ga)
{
if(i==ha&&b[ga]>=gb&&b[ha]>=hb)ok=0;
ans++;
}
if(i<ha&&a[i]==1&&b[i]>=ha)
{
if(i==ga&&b[ga]>=gb&&b[ha]>=hb)ok=0;
ans++;
}
}
if(!ok)ans--;
cout<<ans<<endl;
return 0;
}