AT_joi2026_yo2_f.船 (Ship)

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

意大利的切塞纳蒂科(Cesenatico)是濒临亚得里亚海的港口城市,以其运河闻名。运河中停泊着许多船只,也是一处著名的旅游胜地。现在,我们对现实情况做如下简化建模:

运河是直线的,只有一侧通向亚得里亚海。运河中停泊着 NN 艘编号为 11 到 NN 的船只,第 ii (1≤i≤N1 \leq i \leq N)艘船停泊在距离亚得里亚海 AiA_i 的位置上。

编号较小的船离亚得里亚海更近,即 A1<A2<⋯<ANA_1 < A_2 < \cdots < A_N。

你需要为即将在本地举办的节日美化船只,对每艘船进行涂色。具体来说,每艘船要从 11 到 NN 的 NN 种颜色中选择一种,将其涂成该颜色。要求满足以下条件:

  • 对于每种颜色 cc(1≤c≤N1 \leq c \leq N),用颜色 cc 涂色的船只数量不能等于 11。注意,用颜色 cc 涂色的船只数量可以为 00。
  • 当用颜色 cc 涂色的船只数量不少于 22 时,这些船的停泊位置必须等间隔排列。换句话说,所有用颜色 cc 涂色的船按与亚得里亚海的距离从小到大排列后应构成等差数列。

为了让船只看起来更美观,定义“美丽度”为:

  • 所有同一种颜色涂色的两艘不同船之间距离的最小值。具体地,设第 ii、jj(1≤i,j≤N1 \leq i,j \leq N, i≠ji \neq j)艘船间距离为 ∣Ai−Aj∣|A_i-A_j|。

现在给出所有船的具体信息,判断是否存在一种满足条件的涂色方案;如果存在,求所有可能美丽度的最大值。

输入格式

输入为以下形式:

NN A1A_1 A2A_2 A3A_3 ⋯\cdots ANA_N

输出格式

若不存在满足条件的涂色方案,输出 -1。否则,输出一个整数,代表最大的美丽度。

输入输出样例

  • 输入#1

    2
    1 2

    输出#1

    1
  • 输入#2

    3
    1 10 100

    输出#2

    -1
  • 输入#3

    5
    5 6 8 9 11

    输出#3

    3

说明/提示

子任务

  1. (8 分)Ai=iA_i=i(1≤i≤N1\leq i\leq N)。
  2. (11 分)N≤7N\leq7。
  3. (12 分)N≤100N\leq100。
  4. (39 分)N≤700N\leq700。
  5. (30 分)无附加限制。

样例解释 1

比如,下面这种不满足条件的涂色方案:

  • 将船 11 涂为颜色 11,将船 22 涂为颜色 22。

这个方案下,颜色 11 用于涂色的船仅有 11 艘,不满足条件。

又如,以下方案是满足条件的:

  • 将船 11、22 都涂成颜色 22。

此时,颜色 11 没有被用于任何船,依然满足条件。颜色 22 涂色的船位置序列为 (1,2)(1,2),这是一组等差数列,也满足条件。因此该方案满足题意。

在这个方案下,同色的船有一组(船 1,21,2)。它们之间的距离为 ∣A1−A2∣=∣1−2∣=1|A_1-A_2|=|1-2|=1,所以美丽度为 11。

不能得到更大的美丽度,因此输出 11。

该输入样例满足所有子任务约束。

样例解释 2

对于每个颜色,都不能“只涂一艘”。那么,必须把船 1,2,31,2,3 都染成同一种颜色。

此时,这些船的距离序列为 (1,10,100)(1,10,100),并非等差数列。

也就是说,不存在可行涂色方案,输出 −1-1。

该输入样例满足子任务 2,3,4,52,3,4,5 的约束。

样例解释 3

例如,下面的涂色方案是满足条件的:

  • 将船 1,3,51,3,5 涂成颜色 11,将船 2,42,4 涂成颜色 44。

此时,同色船的两两组合为:11 和 33、11 和 55、22 和 44、33 和 55,共 44 组。它们的距离分别是 3,6,3,33,6,3,3。因此美丽度为 33。

无法得到更大的美丽度,所以输出 33。

该输入样例满足子任务 2,3,4,52,3,4,5 的约束。

约束条件

  • 2≤N≤3 5002 \leq N \leq 3\,500。
  • 1≤Ai≤1091 \leq A_i \leq 10^9(1≤i≤N1 \leq i \leq N)。
  • Ai<Ai+1A_i < A_{i+1}(1≤i≤N−11 \leq i \leq N-1)。
  • 所有输入均为整数。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页