2494. 找苹果
1000ms
256MB
简单
二分算法
题目描述
小鹿非常喜欢吃苹果。大熊送给小鹿 $n$ 个苹果,小鹿将这些苹果按照重量**从小到大**依次排列好。
现在小鹿想从这堆苹果中找出一个重量恰好为 $m$ 克的苹果来吃。由于苹果数量非常多,请你编写一个程序,使用**二分查找算法**快速帮小鹿判断这堆苹果中是否存在重量为 $m$ 的苹果。
输入格式
- 第一行包含一个正整数 $n$,表示苹果的总数量 ($1 < n \le 10,000,000$)。
- 第二行包含 $n$ 个正整数,表示每个苹果的重量(已按升序排列)。
- 第三行包含一个正整数 $m$,表示小鹿想要寻找的苹果重量。
输出格式
- 如果存在重量为 $m$ 的苹果,输出 `YES`;否则输出 `NO`。
样例 1
输入 (Input)
输出 (Output)
- $n$ 最大可达一千万,普通的顺序查找可能会导致超时。
- 必须使用二分查找算法,并注意输入输出效率优化。
- 建议在 C++ 中使用 `ios::sync_with_stdio(false); cin.tie(0);` 来加速 `cin` 的读取速度。
› 输入 stdin
CtrlShiftEnter
‹ 输出 stdout
错误 stderr
操作成功