Submission #1255512

#TimeUsernameProblemLanguageResultExecution timeMemory
1255512Sam_arvandiMonochrome Points (JOI20_monochrome)C++20
4 / 100
2095 ms328 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll;; typedef pair<int, int> pii; #define FOR(i, j, n) for(int i = j; i<= n; i++) #define ROF(i, n, j) for(int i = n; i>= j; i--) #define pb push_back #define S second #define F first #define IOS ios_base :: sync_with_stdio(0); cin.tie(0); cout.tie(0) #define G(i, j) get<j-1>(i) #define print(i) cout << #i << ": " << i const int mn = 10; int a[2*mn]; int g1[mn], g2[mn], p[mn]; signed main() { IOS; int n; cin >> n; string s; cin >> s; int tmp1 = 0, tmp2 = 0; FOR(i, 0, 2*n-1) { if (s[i] == 'B') { tmp1++; g1[tmp1] = i+1; a[i+1] = 1; } else { tmp2++; g2[tmp2] = i+1; a[i+1] = 2; } } FOR(i, 1, n) p[i] = i; int out = 0; do { int ans = 0; FOR(i, 1, n) { FOR(j, i+1, n) { int l1 = min(g1[i], g2[p[i]]), r1 = max(g1[i], g2[p[i]]); int l2 = min(g1[j], g2[p[j]]), r2 = max(g1[j], g2[p[j]]); if ((l1 < l2 and l2 < r1 and r1 < r2) or (l2 < l1 and l1 < r2 and r2 < r1)) ans++; } } out = max(out, ans); }while (next_permutation(p+1, p+n+1)); cout << out; 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...