Submission #1255430

#TimeUsernameProblemLanguageResultExecution timeMemory
1255430Seyyed_Mojtaba_MortazaviMonochrome Points (JOI20_monochrome)C++20
25 / 100
2095 ms328 KiB
#include <bits/stdc++.h>

using namespace std;

#define int long long int
typedef pair <int, int> pii;

const int MAXN = 2e5 + 10;

vector <int> W;
vector <int> B;
vector <pii> seg;

signed main()
{
	int n, ans = 0;
	cin >> n;
	for (int i = 1; i <= 2 * n; i++)
	{
		char c;
		cin >> c;
		if (c == 'W')
			W.push_back(i);
		else
			B.push_back(i);
	}
	for (int i = 1; i <= n; i++)
	{
		seg.clear();
		for (int j = 0; j < n; j++)
		{
			int v = W[j];
			int u = B[(j + i) % n];
			seg.push_back({min(v, u), max(v, u)});
		}
		int tmp = 0;
		for (int j = 0; j < n; j++)
		{
			for (int k = j + 1; k < n; k++)
			{
				auto [l1, r1] = seg[j];
				auto [l2, r2] = seg[k];
				if ((l1 <= l2 && l2 <= r1) ^ (l1 <= r2 && r2 <= r1))
					tmp++;
			}
		}
		ans = max(ans, tmp);
	}
	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...