#ASC101. xw学长传感器网络激活时间

xw学长传感器网络激活时间

题目背景

xw学长正在调试一个分布式传感器网络。网络中有 n 个传感器排成一排。初始时,有 k 个传感器被外部激活。每个时间单位,每个处于激活状态的传感器会向其左右相邻的传感器发送激活信号(如果相邻传感器还未被激活,则被激活并开始工作)。当一个传感器被激活后,它也会在下一个时间单位参与激活相邻传感器的过程。xw学长想知道整个网络从开始激活到所有传感器都被激活所需的时间(即最后一个传感器被激活的时间)。

题目描述

给定 n 个传感器的数量和 k 个初始激活传感器的位置。从时间 1 开始,初始激活的传感器被激活。之后每个时间单位,激活的传感器会激活其左右相邻的未激活传感器。求所有传感器都被激活所需的时间(即最后一个传感器被激活的时间)。

输入格式

第一行一个整数 n,表示传感器的数量

第二行一个整数 k,表示初始激活传感器的个数

第三行 k 个整数,表示初始激活传感器的位置(位置从 0 开始编号)一个整数,表示所有传感器都被激活所需的时间

样例

输出格式

一个整数,表示所有传感器都被激活所需的时间

样例

样例

5
2
0 2
3

数据范围

1kn1051 \leq k \leq n \leq 10^5

提示

  • 1.使用 BFS 可以高效模拟激活传播过程

  • 2.注意多个初始激活点可能有重复,需要去重

  • 3.最后一个被激活的传感器决定了总时间