dd爱科学2.0
题号:NC221823
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

大科学家最近在研究转基因白菜,白菜的基因序列由一串大写英文字母构成,经过严谨的推理证明发现,只有当白菜的基因序列呈按位非递减形式时,这株白菜的高附加值将达到最高,于是优秀的开始着手修改白菜的基因序列,每次可以选择基因序列的一位进行修改,每次当她把一个字母修改成时,会产生(即码差值的绝对值)的改动偏移量,希望,修改白菜的基因序列使其高附加值达到最高,并且基因序列的改动偏移量总和最小,她想知道最小的改动偏移量总和是多少。

输入描述:

第一行一个正整数n(1≤n≤1000000)
第二行一个长度为n的字符串,表示所给白菜的基因序列
保证给出字符串中有且仅有大写英文字母

输出描述:

输出一行,表示最小改动偏移量总和
示例1

输入

复制
5
AEEBC

输出

复制
5

说明

改成AEEEE或ACCCC偏移量总和最小
改成AEEEE,偏移量总和为|B-E|+|C-E|=3+2=5
改成ACCCC,偏移量总和为|E-C|+|E-C|+|B-C|=2+2+1=5
所以最小偏移量总和为5