제출 #1140069

#제출 시각아이디문제언어결과실행 시간메모리
1140069not_amirMonochrome Points (JOI20_monochrome)C++20
100 / 100
4 ms3544 KiB
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;

int C(char a, char b) {
    return a == b ? a == 'B' ? -1 : 1 : 0;
}

int main() {
    cin.tie(nullptr)->sync_with_stdio(false);
    int n;
    string s;
    cin >> n >> s;
    vector<int> cnt(2 * n);
    vector<int> v;
    for (int i = 0, curr = n; i < n; i++) {
        curr += C(s[i], s[n + i]);
        cnt[curr]++;
        v.push_back(curr);
    }
    int median = -1;
    for (int i = 0, k = 0; k <= n / 2; i++) {
        if (k + cnt[i] > n / 2)
            median = i;
        k += cnt[i];
    }
    ll ans = ll(n) * ll(n - 1) / 2ll;
    for (int x : v)
        ans -= abs(x - median);
    cout << ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...