#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; } |
English