#GESP1300. [GESP202512 五级T1] 数字移动

    ID: 5217 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 3 上传者: 标签>GESP真题2025五级模拟普及/提高−简单贪心

[GESP202512 五级T1] 数字移动

题目背景

2025 年 12 月 GESP C++ 五级编程第 1 题

题目描述

小 A 有一个包含 NN 个正整数的序列 A=A1,A2,ldots,ANA={A_1,A_2,ldots,A_N},序列 AA 恰好包含 N/2N/2 对不同的正整数。形式化地,对于任意 1iN1 \le i\le N,存在唯一一个 jj 满足 1jN1 \le j\le Nieji e jAi=AjA_i=A_j

小 A 希望每对相同的数字在序列中相邻。每次操作可以选择任意位置的一个数字,将它移动到任意位置,并花费等于该数字的体力。

请计算一个最小的 xx,使得小 A 能够在每次花费的体力均不超过 xx 的情况下,令每对相同的数字在序列中相邻。数据保证小 A 至少需要执行一次操作。

输入格式

第一行输入一个正整数 NN,保证 NN 为偶数。

第二行输入 NN 个正整数 A1,A2,ldots,ANA_1,A_2,ldots,A_N

输出格式

输出一行一个整数,表示满足要求的 xx 的最小值。

6
1 2 1 3 2 3
2

数据范围与提示

  • 对于 4040% 的测试点,1N,Ai1001 \le N,A_i \le 100
  • 对于所有测试点,1N,Ai1051 \le N,A_i \le 10^5

样例中移动数值为 22 的元素即可使一对 11 相邻,并继续整理得到所有相同数字相邻,因此答案不超过 22;无法只移动花费不超过 11 的数字完成目标。