比赛 |
4043级2023省选模拟赛5 |
评测结果 |
AAAAAAAAAAAAAAAAA |
题目名称 |
Leaders |
最终得分 |
100 |
用户昵称 |
nick |
运行时间 |
0.228 s |
代码语言 |
C++ |
内存使用 |
2.74 MiB |
提交时间 |
2023-03-27 20:18:45 |
显示代码纯文本
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const ll N=1e5+10;
ll a[N],n,g=0,h=0,G=0,H=0,ans=0;
string s;
char ch;
bool x=0,y=0;
int main()
{
freopen("leaders.in","r",stdin);
freopen("leaders.out","w",stdout);
cin>>n>>s;
s=' '+s;
for(ll i=1;i<s.size();i++){
if(s[i]=='G'&&!g)g=i;
else if(s[i]=='H'&&!h)h=i;
}
for(ll i=s.size()-1;i>=1;i--){
if(s[i]=='G'&&!G)G=i;
else if(s[i]=='H'&&!H)H=i;
}
for(ll i=1;i<=n;i++)cin>>a[i];
for(ll i=1;i<=n;i++){
if(s[i]=='G'){
if(a[i]>=h&&i<=h&&a[h]>=H){
ans++;
if(i==g)x=1;
}
}
if(s[i]=='H'){
if(a[i]>=g&&i<=g&&a[g]>=G){
ans++;
if(i==h)y=1;
}
}
}
if(a[g]>=G&&a[h]>=H&&!x&&!y)ans++;
cout<<ans;
return 0;
}