Submission #1153993

#TimeUsernameProblemLanguageResultExecution timeMemory
1153993brover29Monochrome Points (JOI20_monochrome)C++20
4 / 100
2095 ms328 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...