#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];
string s;
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;
ll cnt=n;
vector<pair<ll,ll>>v;
for(ll i=1;i<=2*n;i++){
if(used[i])continue;
ll cur=--cnt;
for(ll j=i+1;j<=2*n;j++){
if(used[j])continue;
if(cur<=0&&s[i]!=s[j]){
v.push_back({i,j});
used[j]=1;
break;
}
cur--;
}
}
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';
}
}
}
cout<<ans;
}
# | 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... |