제출 #294390

#제출 시각아이디문제언어결과실행 시간메모리
294390cuom1999Monochrome Points (JOI20_monochrome)C++14
35 / 100
2020 ms3120 KiB
#include <bits/stdc++.h>
using namespace std;

// finding max distance

int main() {
    //freopen("input.txt", "r", stdin);
    ios::sync_with_stdio(0);
    cin.tie(NULL);

    int n;
    cin >> n;
    string s;
    cin >> s;

    vector<int> black, white;
    for (int i = 0; i < 2 * n; i++) {
        if (s[i] == 'B') {
            black.push_back(i);
        }
        else {
            white.push_back(i);
        }
    }

    auto solve = [&](int k) {
        long long res = 0;
        for (int i = 0; i < n; i++) {
            int dist = abs(black[i] - white[(i + k) % n]);
            res += min(dist, 2 * n - dist);
        }

        return res;
    };
        
    long long val = 0;
    for (int i = 0; i < n; i++) {
        val = max(val, solve(i));
    }

    cout << (val - n) / 2 << 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...