| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 918773 | waldi | Monochrome Points (JOI20_monochrome) | C++17 | 2044 ms | 348 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define FOR(i,p,k) for(int i=(p);i<=(k);++i)
#define REP(i,n) FOR(i,0,(n)-1)
#define ssize(x) (int(x.size()))
#define all(x) (x).begin(),(x).end()
#define fi first
#define se second
using namespace std;
typedef pair<int, int> pii;
int main(){
int n;
scanf("%d\n", &n);
int n2 = n<<1;
vector<int> s(n2);
REP(i, n2){
char c;
scanf("%c", &c);
s[i] = c=='B';
}
int wyn = 0;
REP(xd, n){
vector<pii> prz;
vector<vector<int>> lewo(2), prawo(2);
REP(i, n) lewo[s[i]].emplace_back(i);
FOR(i, n, n2-1) prawo[s[i]].emplace_back(i);
REP(i, ssize(lewo[0])) prz.emplace_back(lewo[0][i], prawo[1][i]);
REP(i, ssize(lewo[1])) prz.emplace_back(lewo[1][i], prawo[0][i]);
int tmp = 0;
REP(i, n) REP(j, i){
pii a = prz[i], b = prz[j];
if(a.se > b.se) swap(a, b);
if(a.fi < b.fi && b.fi < a.se) ++tmp;
}
wyn = max(wyn, tmp);
s.insert(s.begin(), s.back());
s.pop_back();
}
printf("%d", wyn);
return 0;
}
Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
