#include<stdio.h>
char s[300005];
int arr[300005]={0},v[300005]={0},cnt[300005]={0};
int main(){
int n,k,i,j,ans=0,p=0;
scanf("%d%d",&n,&k);
k--;
for(i=0;i<n;i++)
scanf("%d",&arr[i]);
scanf("%s",s);
for(i=0;i<n;i++)
if(s[i]=='T'){
v[i]=1;
for(j=i-1;j>=0;j--){
if(arr[j]<arr[j+1] || v[j]) break;
v[j]=1;
}
for(j=i+1;j<n;j++){
if(arr[j]<arr[j-1] || v[j]) break;
v[j]=1;
}
}
for(p=i=0;i<n;i++){
if(v[i]==1){
p=0;
continue;
}
if(i && arr[i]<arr[i-1]) p=0;
p++,cnt[i]=p;
}
for(p=0,i=n-1;i>=0;i--){
if(v[i]==1){
p=0;
continue;
}
if(i && arr[i]<arr[i+1]) p=0;
p++;
if(p>cnt[i]) cnt[i]=p;
}
for(p=i=0;i<n;i++)
if(v[i]==1)
ans++;
else if(cnt[i]>p)
p=cnt[i];
if(v[k]!=1){
p=cnt[k];
for(i=k-1;i>=0;i--){
if(arr[i]!=arr[i+1]) break;
if(cnt[i]>p) p=cnt[i];
}
for(i=k+1;i<n;i++){
if(arr[i]!=arr[i-1]) break;
if(cnt[i]>p) p=cnt[i];
}
printf("%d\n",p);
}
else printf("%d\n",ans+p);
}
沒有留言:
張貼留言