#812. 数字移动
数字移动
题目描述
小 A 有一个包含 个正整数的序列 ,且序列恰好由 对不同的正整数构成。形式化地:对任意 ,存在且仅存在一个 使得 (即每个值恰好出现两次)。
小 A 希望将序列变换为“每对相同的数字在序列中相邻”的形式(例如 )。允许的操作为:选择任意下标 ,把当前位置的数字 移动到序列中的任意位置(插入到某个位置前或后),每次移动所消耗的体力等于被移动元素的数值(即移动值为 的元素需付出 点体力)。可以执行任意次操作。
小 A 希望限制每次操作的体力消耗都不超过某个阈值 ,并在该限制下能够完成目标(即最终使每对相同数字相邻)。请你计算使此目标可行的最小的 值。
例如:。把 移到 后面,序列变为 ,耗费 ;也可把 移到 前面,耗费 。本题要求找到一个最小的 ,使得存在一系列每次移动耗费 的操作,用以将序列整理为每对相同数字相邻的形式。
输入格式
- 第一行包含一个正整数 ,表示序列长度(保证 为偶数)。
- 第二行包含 个正整数 ,满足对任意 ,存在唯一的 使得 。
题目保证初始序列不是已经满足“每对相同数字相邻”,故至少需要一次操作。
输出格式
输出一行,包含一个整数:满足题目要求的最小 。
样例输入 1
6
1 2 1 3 2 3
样例输出 1
2
说明
数据范围
- 对于 的测试点,保证 。
- 对于所有测试点,保证 。