#include <bits/stdc++.h>
//qwerty47924692
using namespace std;
using ll = long long;
const ll N=2e5+29;
const string br="617283";
#define sz(a)(ll)a.size()
#define f first
#define s second
ll n,used[N],p[N];
string s;
vector<ll>b,w;
ll intersection(ll l1,ll r1,ll l2,ll r2){
    return max(0ll,min(r1,r2)-max(l1,l2)+1);
}
int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cin>>n>>s;
    s=' '+s;
    for(ll i=1;i<=2*n;i++){
        if(s[i]=='B'){
            b.push_back(i);
        }else w.push_back(i);
    }ll mx=0;
    do{
        vector<pair<ll,ll>>v;
        for(ll i=0;i<n;i++){
            ll l=min(b[i],w[i]);
            ll r=max(b[i],w[i]);
            v.push_back({l,r});
        }ll ans=0;
        for(ll i=0;i<v.size()-1;i++){
            ll l1=v[i].f,r1=v[i].s;
            for(ll j=i+1;j<v.size();j++){
                ll l2=v[j].f,r2=v[j].s;
                if(intersection(l1,r1,l2,r2)>0&&intersection(l1,r1,l2,r2)!=min(r2-l2+1,r1-l1+1)){
                    ans++;
                   // cout<<l1<<' '<<r1<<' '<<l2<<' '<<r2<<'\n';
                }
            }
        }mx=max(ans,mx);
    }while(next_permutation(b.begin(),b.end()));
    cout<<mx;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |