5947 - 数字移动

题目描述

A 有一个包含 N 个正整数的序列 A= { A_1,A_2,...,A_N },序列 A 恰好包含 N/2 对不同的正整数。形式化地,对于任意 1 \le i \le N,存在唯一一个 j 满足 1 \le j \le Ni \neq j,A_i=A_j

A 希望每对相同的数字在序列中相邻,为了实现这一目的,小 A 每次操作会选择任意 i( 1 \le i \le N ),将当前序列的第 i 个数字移动到任意位置,并花费对应数字的体力。

例如,假设序列 A= { 1,2,1,3,2,3 } ,小 A 可以选择 i=2,将 A_2=2 移动到 A_3=1 的后面,此时序列变为 {1,1,2,3,2,3} ,耗费 2 点体力。小 A 也可以选择 i=3 ,将 A_3=1 移动到 A_2=2 的前面,此时序列变为 {1,1,2,3,2,3} ,花费 1 点体力。

A 可以执行任意次操作,但他希望自己每次花费的体力尽可能小。小 A 希望你能帮他计算出一个最小的 x,使得 他能够在每次花费的体力均不超过 x 的情况下令每对相同的数字在序列中相邻。

输入

第一行一个正整数 N,代表序列长度,保证 N 为偶数。

第二行包含 N 个正整数 A_1,A_2,...,A_N,代表序列 A 。且对于任意 1 \le i \le N,存在唯一一个 j 满足 1 \le j \le Ni \neq j,A_i=A_j

输出

输出一行,代表满足要求的 x 的最小值。

样例

输入

6
1 2 1 3 2 3

输出

2
说明

数据范围

对于 40 %的测试点,保证 1 \le N,a_i \le 100

对于所有测试点,保证 1 \le N,a_i \le 10^5

来源

GESP 2025年12月认证 C++5级真题

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 7
通过人数 4
金币数量 0 枚
难度 基础


上一题 下一题