Submission #614016

#TimeUsernameProblemLanguageResultExecution timeMemory
614016MohamedAliSaidaneMonochrome Points (JOI20_monochrome)C++14
25 / 100
2072 ms348 KiB
#include<bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int,int> pii; typedef pair<ll,ll> pll; typedef vector<int> vi; typedef vector<ll> vll; typedef vector<pii> vpi; typedef vector<pll> vpl; #define pb push_back #define popb pop_back #define all(x) (x).begin(), (x).end() #define ff first #define ss second const int nax = 4e5 + 4; int n; int col[nax]; int32_t main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin >> n; vi perm, ot; for(int i = 0 ; i < 2 * n ; i++) { char c; cin >> c; if(c == 'B') col[i] = 1; if(col[i]) perm.pb(i); else ot.pb(i); } int ans = 0 ; for(int shift = 0 ; shift < n ; shift ++ ) { vpi inter; int rep = 0 ; for(int i = 0 ; i < n; i++) inter.pb({min(ot[i], perm[(i+shift)%n]), max(ot[i], perm[(i+shift)%n])}); for(int i = 0 ; i < n - 1;i ++) { for(int j= i + 1; j < n; j ++) { int a = inter[i].ff; int b = inter[i].ss; int c = inter[j].ff; int d= inter[j].ss; if(c < a && b < d) continue; if(a < c && d < b) continue; if(d < a) continue; if(b < c) continue; rep ++; } } ans = max(ans ,rep); } cout << ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...