Submission #1326103

#TimeUsernameProblemLanguageResultExecution timeMemory
1326103vtnooMonochrome Points (JOI20_monochrome)C++20
25 / 100
2095 ms436 KiB
#include <bits/stdc++.h> #define L(i, j, k) for(int i = (j); i <= (k); i++) #define R(i, j, k) for(int i = (j); i >= (k); i--) #define all(x) x.begin(), x.end() #define sz(a) ((int) a.size()) #define pb push_back #define fst first #define snd second using namespace std; typedef long long ll; const int INF=1e9; int n,m; int ans=0; string s; int calc(vector<pair<int,int>>&p){ int cur=0; L(i,0,n-1){ for(int j=i+1;j<n;j++){ int a=p[i].fst,b=p[i].snd; int c=p[j].fst,d=p[j].snd; bool caso1=(b>c&&a>c&&d>a&&d<b),caso2=(a<d&&a<c&&b>c&&b<d); if(caso1||caso2){ cur++; } } } return cur; } vector<int>b,w; int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); cin>>n; cin>>s; m=n*2; L(i,0,m-1){ if(s[i]=='B')b.pb(i); else w.pb(i); } sort(all(b)); sort(all(w)); L(i,0,sz(w)-1){ vector<pair<int,int>>p; int j=0,cur=i; int aa=b[j++],bb=w[cur]; if(aa>bb)swap(aa,bb); p.pb({aa,bb}); L(pasos,1,n-1){ cur++; cur%=n; int aa_=b[j++],bb_=w[cur]; if(aa_>bb_)swap(aa_,bb_); p.pb({aa_,bb_}); } //~ cout<<sz(p)<<endl; //~ L(i,0,sz(p)-1){ //~ cout<<p[i].fst+1<<" "<<p[i].snd+1<<endl; //~ } ans=max(ans,calc(p)); } cout<<ans<<endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...