P25041 [AtCoder] Papple Sort
提高
题目描述

Problem Statement

You are given a string S consisting of lowercase English letters.
Determine whether we can turn S into a palindrome by repeating the operation of swapping two adjacent characters. If it is possible, find the minimum required number of operations.

Input

Input is given from Standard Input in the following format:
S

Output

If we cannot turn S into a palindrome, print -1. Otherwise, print the minimum required number of operations.

Constraints

  • $1 \leq |S| \leq 2$ × 10^5
  • S consists of lowercase English letters.

Sample Input 1

eel

Sample Output 1

1

We can turn S into a palindrome by the following operation:

  • Swap the 2-nd and 3-rd characters. S is now ele.

Sample Input 2

ataatmma

Sample Output 2

4

We can turn S into a palindrome by the following operation:

  • Swap the 5-th and 6-th characters. S is now ataamtma.
  • Swap the 4-th and 5-th characters. S is now atamatma.
  • Swap the 3-rd and 4-th characters. S is now atmaatma.
  • Swap the 2-nd and 3-rd characters. S is now amtaatma.

Sample Input 3

snuke

Sample Output 3

-1

We cannot turn S into a palindrome.

输入格式

见题面 Input 部分

输出格式

见题面 Output 部分

样例输入
eel
样例输出
1