100 #12304. C - 禁止列表 比赛编号170C

C - 禁止列表 比赛编号170C

C - 禁止列表

时间限制: 2 秒 内存限制: 1024 MiB 分值: 300 分


📖 题目描述

给定:

  • 一个整数 X
  • 一个长度为 N 的整数序列:p_1,p_2,,p_Np\_1, p\_2, …, p\_N

在所有 ​不在该序列中的整数​(不要求为正数)里,找到一个与 X 距离最近的整数。

形式化要求:找到一个整数 y,满足:

  • y{p_1,,p_N}y \notin \{p\_1, …, p\_N\}
  • yX|y - X| 最小
  • 如果有多个这样的整数,输出其中 ​最小的那个​。

🔒 输入限制

  • 1X1001 \leq X \leq 100
  • 0N1000 \leq N \leq 100
  • 1p_i1001 \leq p\_i \leq 100
  • p_1,,p_Np\_1, …, p\_N 互不相同
  • 输入的所有值均为整数

📥 输入格式

从标准输入读入:

X N
p1 p2 … pN

📤 输出格式

输出满足条件的整数。


🧩 样例输入 1

6 5
4 7 10 6 5

✅ 样例输出 1

8

解释​: 在 {4,7,10,6,5} 之外的整数中,与 6 距离最近的是 8。


🧩 样例输入 2

10 5
4 7 10 6 5

✅ 样例输出 2

9

解释​: 在 {4,7,10,6,5} 之外,与 10 距离最近的整数有 9 和 11。 按要求输出较小的 → 9。


🧩 样例输入 3

100 0

✅ 样例输出 3

100

解释​: 当 N=0 时,第二行为空,此时 X 本身是合法答案,因此输出 100。