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
#include<bits/stdc++.h>
using namespace std;
int main()
{ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    string A;
    deque<int>U;
    cin>>A;
    const int n=A.size();
    int IloscA=0,IloscB=0;
    long long wynik=0;
    for(int i=0;i<A.size();i++)
    {
        if(A[i]=='a'){IloscA++;U.push_back(i);}
        else{IloscB++;}
    }
    if(IloscA%2==1&&IloscB%2==1){cout<<-1<<endl;return 0;}
    while(U.size()>1)
    {
        int a=U[0];
        int b=U.back();
        U.pop_front();
        U.pop_back();
        wynik+=max(n-a-b-1,a-n+b+1);
    }
    if(U.size()==1)
    {
        wynik+=abs(U[0]-(n/2));
    }
    cout<<wynik<<endl;
    return 0;
}