Submission #296204

#TimeUsernameProblemLanguageResultExecution timeMemory
296204maximath_1Monochrome Points (JOI20_monochrome)C++11
100 / 100
17 ms3348 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
 
const ll mod = 1e9 + 7;
const int N = 200005;

int n, v[N * 2], pref[N];
string s;

int main(){
	cin.tie(0) -> sync_with_stdio(0);
	
	cin >> n >> s;
	for(int i = 0; i < 2 * n; i ++)
		v[i] = (s[i] == 'W' ? 1 : -1);

	for(int i = 0; i < n; i ++){
		if(i == 0) pref[i] = v[i] * (v[i] == v[n + i]);
		else pref[i] = pref[i - 1] + v[i] * (v[i] == v[n + i]);
	}
	sort(pref, pref + n);
 
 	ll ans = n * 1ll * (n - 1) / 2;
 	for(int i = 0; i < n; i ++)
 		ans -= abs(pref[n / 2] - pref[i]);
 	cout << ans << endl;

	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...