Submission #927862

#TimeUsernameProblemLanguageResultExecution timeMemory
927862UnforgettableplGrowing Vegetable is Fun 3 (JOI19_ho_t3)C++17
15 / 100
1 ms460 KiB
#include <bits/stdc++.h> using namespace std; #define int long long const int INF = 1e15; int calc(vector<bool> arr,bool start){ arr.insert(arr.begin(),start); int ans = 0; for(int i=1;i<arr.size();i++){ int idx = find(arr.begin()+i, arr.end(),!arr[i-1])-arr.begin(); ans+=idx-i; arr.erase(arr.begin()+idx); arr.insert(arr.begin()+i,!arr[i-1]); } return ans; } int32_t main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); int n; cin >> n; int red = 0; int green = 0; vector<bool> arr; for(int i=1;i<=n;i++){ char a; cin>>a; if(a=='R') { red++; arr.emplace_back(true);} else {green++;arr.emplace_back(false);} } if(abs(red-green)>1){ cout << "-1\n"; return 0; } int ans = INF; if(red<=green)ans=min(ans, calc(arr,true)); if(green<=red)ans=min(ans, calc(arr,false)); cout << ans << '\n'; }

Compilation message (stderr)

joi2019_ho_t3.cpp: In function 'long long int calc(std::vector<bool>, bool)':
joi2019_ho_t3.cpp:11:18: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<bool>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   11 |     for(int i=1;i<arr.size();i++){
      |                 ~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...