CF680B.Bear and Finding Criminals

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Bear and Finding Criminals

题目描述

Bearland 有 nn 个城市,编号为 11nn。所有城市排成一条直线。第 ii 个城市和第 jj 个城市之间的距离为 ij|i-j|

Limak 是一名警察。他住在第 aa 个城市。他的工作是抓捕罪犯。困难在于,他并不知道每个城市里是否有罪犯。不过,他知道每个城市里最多只有一个罪犯。

Limak 准备用一个“熊探罪犯检测仪”(BCD,Bear Criminal Detector)。BCD 会告诉 Limak,从城市 aa 出发,每个距离上有多少个罪犯。之后,Limak 能在那些可以确定有罪犯的城市里抓住他们。

你知道每个城市里是否有罪犯。请计算 Limak 在使用 BCD 后,最多能抓住多少个罪犯。

输入格式

输入的第一行包含两个整数 nnaa1an1001 \leq a \leq n \leq 100),分别表示城市的数量和 Limak 所居住城市的编号。

输入的第二行有 nn 个整数 t1,t2,,tnt_1, t_2, \ldots, t_n0ti10 \leq t_i \leq 1),表示第 ii 个城市是否有罪犯。ti=1t_i=1 表示有罪犯,ti=0t_i=0 表示没有。

输出格式

输出 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 号城市抓到罪犯,共 33 个。

在第二个样例中(见下图),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

建议全屏模式获得最佳体验