欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF680B.Bear and Finding Criminals
Bear and Finding Criminals
题目描述
Bearland 有 个城市,编号为 到 。所有城市排成一条直线。第 个城市和第 个城市之间的距离为 。
Limak 是一名警察。他住在第 个城市。他的工作是抓捕罪犯。困难在于,他并不知道每个城市里是否有罪犯。不过,他知道每个城市里最多只有一个罪犯。
Limak 准备用一个“熊探罪犯检测仪”(BCD,Bear Criminal Detector)。BCD 会告诉 Limak,从城市 出发,每个距离上有多少个罪犯。之后,Limak 能在那些可以确定有罪犯的城市里抓住他们。
你知道每个城市里是否有罪犯。请计算 Limak 在使用 BCD 后,最多能抓住多少个罪犯。
输入格式
输入的第一行包含两个整数 和 (),分别表示城市的数量和 Limak 所居住城市的编号。
输入的第二行有 个整数 (),表示第 个城市是否有罪犯。 表示有罪犯, 表示没有。
输出格式
输出 Limak 能抓到的罪犯数量。
说明/提示
在第一个样例中,有六个城市,Limak 住在第三个城市(下图蓝色箭头所示)。犯罪分子分布在红色标记的城市。

使用 BCD 后,Limak 获得了如下信息:
- 距离第 3 个城市 0 的地方有 1 个罪犯——Limak 可以确定这个罪犯就在第 3 个城市。
- 距离第 3 个城市 1 的地方有 1 个罪犯——Limak 不知道罪犯是在第 2 个城市还是第 4 个城市。
- 距离第 3 个城市 2 的地方有 2 个罪犯——Limak 能确定一个在第 1 个城市,另一个在第 5 个城市。
- 所有更远的距离均没有罪犯。
因此,Limak 能在第 1、3、5 号城市抓到罪犯,共 个。
在第二个样例中(见下图),BCD 通知 Limak 在距离本城市 2 的地方有 1 个罪犯。并且只有一个城市与本城市距离为 2,因此 Limak 能确定罪犯在哪个城市。

由 ChatGPT 5 翻译
样例
6 3
1 1 1 0 1 0
3
5 2
0 0 0 1 0
1
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |