Submission #1107367

#TimeUsernameProblemLanguageResultExecution timeMemory
1107367vjudge1Growing Vegetable is Fun 3 (JOI19_ho_t3)C++17
15 / 100
1 ms504 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define sz(x) x.size() #define pb push_back #define F first #define S second #define nl '\n' void solve() { int n; string s; cin >>n >>s; int cntr = 0, cntg = 0; vector< int >r, g; int pr[n], pg[n]; pr[0] = pg[0] = 0; for( int i = 0; i < n; ++i ) { if( i > 0 ) { pr[i] = pr[i - 1]; pg[i] = pg[i - 1]; } if( s[i] == 'R' ) { r.pb( i ); ++pr[i]; ++cntr; } else { g.pb( i ); ++pg[i]; ++cntg; } } if( cntg > cntr ) { swap(cntr, cntg); swap(r, g); for( int i = 0; i < n; ++i ) swap(pr[i], pg[i]); } if( cntr - cntg > 1 ) { cout <<-1; return; } int ans = 0; if( cntr > cntg ) { int pos = 1; for( int i: g ) { ans += abs(pos - i); pos += 2; } } else { int cnt1 = 0, cnt2 = 0, pos = 0; for( int i: r ) { cnt1 += abs(i - pos); pos += 2; } pos = 0; for( int i: g ) { cnt2 += abs(i - pos); pos += 2; } ans = min(cnt1, cnt2); } cout <<ans; } signed main() { ios_base::sync_with_stdio(0); cin.tie(0); // freopen("input.txt", "r", stdin); // freopen("output.txt", "w", stdout); int T = 1; // cin >>T; while( T-- ) solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...