#include<string>
#include<algorithm>
#include<iostream>
using namespace std;
#define REP(i,n) for(int i=0;i<(n);i++)
int main(void) {
string s;
cin >> s;
int n = s.size();
int ca = 0; REP(i, n) if (s[i] == 'a') ca++;
if (!(n & 1) && (ca&1)) { cout << -1; return 0; }
int l = 0, r=0, p = 0;
long long d = 0;
REP(i, n >> 1) {
if (s[i] == 'a') l++;
if (s[n - 1 - i] == 'a') r++;
d += abs(l -r) + p;
p = abs(l-r);
}
if (n & 1) d += p;
cout << (d >> 1);
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 | #include<string> #include<algorithm> #include<iostream> using namespace std; #define REP(i,n) for(int i=0;i<(n);i++) int main(void) { string s; cin >> s; int n = s.size(); int ca = 0; REP(i, n) if (s[i] == 'a') ca++; if (!(n & 1) && (ca&1)) { cout << -1; return 0; } int l = 0, r=0, p = 0; long long d = 0; REP(i, n >> 1) { if (s[i] == 'a') l++; if (s[n - 1 - i] == 'a') r++; d += abs(l -r) + p; p = abs(l-r); } if (n & 1) d += p; cout << (d >> 1); return 0; } |
English