AT_abc185_d.[ABC185D] Stamp

普及-

通过率:0%

AC君温馨提醒

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

题目描述

在左右方向上有 NN 个格子排成一列。我们将从左起第 ii 个格子称为格子 ii。
在这 NN 个格子中,格子 A1A_1、格子 A2A_2、格子 A3A_3、…\dots、格子 AMA_M 这 MM 个格子是蓝色的,其余格子是白色的。(M=0M = 0 也是可能的,这种情况下没有蓝色格子。)
你只能选择一次,选定一个正整数 kk,制作一个宽度为 kk 的印章。每次使用宽度为 kk 的印章时,可以选择 NN 个格子中连续的 kk 个格子,并将它们涂成红色。但此时,这 kk 个格子中不能包含蓝色格子。
请问,合理选择 kk 和印章的使用方式后,最少需要使用多少次印章,才能使得不存在白色格子的状态?

输入格式

输入以以下格式从标准输入读入。

NN MM A1  A2  A3  …  AMA_1\ \hspace{7pt}\ A_2\ \hspace{7pt}\ A_3\ \hspace{5pt}\ \dots\ \hspace{5pt}\ A_M

输出格式

输出一个整数,表示最少需要使用多少次印章,才能使所有白色格子都被涂成红色。

输入输出样例

  • 输入#1

    5 2
    1 3

    输出#1

    3
  • 输入#2

    13 3
    13 3 9

    输出#2

    6
  • 输入#3

    5 5
    5 2 1 4 3

    输出#3

    0
  • 输入#4

    1 0

    输出#4

    1

说明/提示

限制条件

  • 1≤N≤1091 \leq N \leq 10^9
  • 0≤M≤2×1050 \leq M \leq 2 \times 10^5
  • 1≤Ai≤N1 \leq A_i \leq N
  • AiA_i 互不相同
  • 所有输入均为整数

样例解释 1

选择 k=1k=1,将 3 个白色格子分别用印章一次涂成红色,共需 3 次,为最优解。如果选择 k≥2k \geq 2,由于印章不能覆盖蓝色格子,格子 2 无论如何都无法被涂成红色。

样例解释 2

例如选择 k=2k=2,可以如下使用印章达到最优:

  • 将格子 1,21,2 涂成红色
  • 将格子 4,54,5 涂成红色
  • 将格子 5,65,6 涂成红色
  • 将格子 7,87,8 涂成红色
  • 将格子 10,1110,11 涂成红色
  • 将格子 11,1211,12 涂成红色
    印章每次选择的连续 kk 个格子不能包含蓝色格子,但可以包含已经变成红色的格子。

样例解释 3

如果一开始就不存在白色格子,则一次印章都不需要使用。

样例解释 4

M=0M=0 也是可能的。

由 ChatGPT 4.1 翻译

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

首页