#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
string s;
cin >> s;
int const n = s.size();
vector<int> idxs;
idxs.reserve(n);
for(int i = 0; i < n; i++) {
if(s[i] == 'b') {
idxs.push_back(i);
}
}
int const m = idxs.size();
ll result = 0;
for(int i = 0; i < m / 2; i++) {
result += abs(n - 1 - idxs[m - 1 - i] - idxs[i]);
}
if(m % 2 == 1) {
if(n % 2 == 0) {
result = -1;
} else {
result += abs(idxs[m / 2] - n / 2);
}
}
cout << result << "\n";
}
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 33 34 | #include <bits/stdc++.h> using namespace std; using ll = long long; int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); string s; cin >> s; int const n = s.size(); vector<int> idxs; idxs.reserve(n); for(int i = 0; i < n; i++) { if(s[i] == 'b') { idxs.push_back(i); } } int const m = idxs.size(); ll result = 0; for(int i = 0; i < m / 2; i++) { result += abs(n - 1 - idxs[m - 1 - i] - idxs[i]); } if(m % 2 == 1) { if(n % 2 == 0) { result = -1; } else { result += abs(idxs[m / 2] - n / 2); } } cout << result << "\n"; } |
English