#include <bits/stdc++.h> using namespace std; int main(){ ios_base::sync_with_stdio(0); string s; int cntA=0,cntB=0,res=0; vector<int> literaA; cin >> s; for(auto &c : s){ if(c=='a') ++cntA; else ++cntB; } if(s.size()%2==0 && (cntA%2==1 || cntB%2==1)){ cout << -1; return 0; } for(int i=0; i<s.size(); ++i){ if(s[i]=='a') literaA.push_back(i); } for(int i=0; i<literaA.size()/2; ++i){ res += abs(literaA[i] - int(s.size()-1-literaA[literaA.size()-1-i])); } if(literaA.size()%2==1){ res += abs(int(literaA[literaA.size()/2] - s.size()/2)); } cout << res; return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #include <bits/stdc++.h> using namespace std; int main(){ ios_base::sync_with_stdio(0); string s; int cntA=0,cntB=0,res=0; vector<int> literaA; cin >> s; for(auto &c : s){ if(c=='a') ++cntA; else ++cntB; } if(s.size()%2==0 && (cntA%2==1 || cntB%2==1)){ cout << -1; return 0; } for(int i=0; i<s.size(); ++i){ if(s[i]=='a') literaA.push_back(i); } for(int i=0; i<literaA.size()/2; ++i){ res += abs(literaA[i] - int(s.size()-1-literaA[literaA.size()-1-i])); } if(literaA.size()%2==1){ res += abs(int(literaA[literaA.size()/2] - s.size()/2)); } cout << res; return 0; } |