爆炸现场
code:
#include<bits/stdc++.h>
using namespace std;
int n,ans,a[20015];
string s;
int fg=20010,fh=20010,lg=-1,lh=-1;
int al=0,bl=0;
int main(){
cin>>n;
cin>>s;
for(int i=1;i<=n;i++){
cin>>a[i];
}
s=" "+s;
for(int i=1;i<=n;i++){
if(s[i]=='G'){
if(i<fg)fg=i;
if(i>lg)lg=i;
}
else{
if(i<fh)fh=i;
if(i>lh)lh=i;
}
}
if(a[fg]>=lg)al=1;
if(a[fh]>=lh)bl=1;
ans+=al*bl;
for(int i=1;i<fg;i++){
if(s[i]=='H'){
if(a[i]>=fg and al==1)ans++;
}
}
for(int i=1;i<fh;i++){
if(s[i]=='G'){
if(a[i]>=fh and bl==1)ans++;
}
}
cout<<ans<<endl;
return 0;
}