选择知识点 (0)
找到 50 道编程题
EXY-PG-0031
第 26 题
数字移动
时间限制:1s 内存限制:512MB

题目描述

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

小 A 希望每对相同的数字在序列中相邻,为了实现这一目的,小 A 每次操作会选择任意$i(1≤i≤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≤i≤N$,存在唯一一个 $j$ 满足 $1≤j≤N,i≠j,A_i=A_j$。

数据保证小 A 至少需要执行一次操作。

输出格式

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

样例说明

样例 1

输入:
6
1 2 1 3 2 3
输出:
2

数据范围

对于 40% 的测试点,保证 $1≤N,A_i≤100$。

对于所有测试点,保证 $1≤N,A_i≤10^5$。

语言: C++
GESP真题 五级
2025.12
编程题号: 1
当前页显示 26 - 26 ,共 50 道编程题