Submission #1344392

#TimeUsernameProblemLanguageResultExecution timeMemory
1344392kokokaiMonochrome Points (JOI20_monochrome)C++20
35 / 100
11 ms2520 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define fi first
#define se second
#define task "text"
const int N = 6e5+5;
string s;
int pre[N];
int n;

int main() {
    ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);
    if(fopen(task".inp","r")){
        freopen(task".inp","r",stdin);
    }
    cin>>n;
    cin>>s;
    for(int i=0;i<n+n;i++){
        if(s[i] == 'B') pre[i]+=1;
        else{
            int ni=(i+n)%(2*n);
            pre[ni]--;
        }
    }
    for(int i=1;i<n+n;i++) pre[i]+=pre[i-1];
    sort(pre,pre+n+n);
    int med=pre[n-1];
    ll ans=n*(n-1);
    for(int i=0;i<n+n;i++){
        ans -= abs(med-pre[i]);
    }
    cout<<ans/2<<'\n';
}

Compilation message (stderr)

monochrome.cpp: In function 'int main()':
monochrome.cpp:15:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   15 |         freopen(task".inp","r",stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...