AtCoder Regular Contest 088
翻译中…
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.
翻译中…
Constraints
翻译中…
$1 \leq |S| \leq 2 × 10^5$$S$consists of lowercase English letters.
翻译中…
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.
翻译中…
样例
Input #1
eel
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`.
Input #2
ataatmma
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`.
Input #3
snuke
Output #3
-1
We cannot turn $S$ into a palindrome.
题目信息
题面与样例版权归 AtCoder 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。