Submission #628394

#TimeUsernameProblemLanguageResultExecution timeMemory
628394MohamedFaresNebiliMonochrome Points (JOI20_monochrome)C++14
25 / 100
2023 ms356 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; using ld = long double; using pi = pair<pair<int, int>, pair<int, int>>; #define ff first #define ss second #define pb push_back #define all(x) (x).begin(), (x).end() #define lb lower_bound #define int ll int N; string S; vector<int> A, B; int32_t main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> N >> S; int res = 0; for(int l = 0; l < 2 * N; l++) { if(S[l] == 'B') A.push_back(l); if(S[l] == 'W') B.push_back(l); } for(int l = 0; l < N; l++) { vector<pair<int, int>> P; for(int i = 0; i < N; i++) P.push_back({min(A[i], B[(i + l) % N]), max(A[i], B[(i + l) % N])}); int ans = 0; for(int i = 0; i < N; i++) { for(int j = i + 1; j < N; j++) { int U = P[i].first, V = P[i].second; int X = P[j].first, Y = P[j].second; if(V < X) continue; if(Y < U) continue; if(U > X && V < Y) continue; if(X > U && Y < V) continue; ans++; } } res = max(res, ans); } cout << res << "\n"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...