#L3318. 「CCO 2020」赶作业 ddl
「CCO 2020」赶作业 ddl
「CCO 2020」赶作业 ddl
题目描述
译自 CCO 2020 Day1 T2「Exercise Deadlines」,翻译者:ShineEternal。
给定一个长度为 的序列 。
你有一个长度为 的序列 ,初始状态下 。
你需要每次交换序列 中相邻的两个数,使得最终满足对于任意的 ,均有 。求出最少需要多少次交换。
输入格式
输入第一行一个整数 。
第二行共 个整数 。
输出格式
输出最少的交换次数。如果无解,输出 。
样例 1
输入
4
4 4 3 2
输出
3
解释 最优方案之一为 ,可通过三次交换由 得到。
样例 2
输入
3
1 1 3
输出
-1
解释 有两个 , 数组中不存在两个 的数,故无解。
数据范围与提示
- 对于 的数据,保证 ;
- 对于 的数据,保证 ,。