AcWing.4421.信号

该题目是关于无线信号发射器覆盖问题的算法题。给定一个房子序列,其中一些房子有信号发射器,每个发射器有效覆盖半径为r。目标是最少开启多少个发射器覆盖所有房子。如果无法覆盖所有房子,输出-1。题目提供了一系列测试用例,并给出了数据范围。
摘要由CSDN通过智能技术生成

有 nn 个房子排成一排,从左到右依次编号为 1∼n1∼n。

其中一些房子内装有无线信号发射器。

这些信号发射器的有效覆盖半径为 rr。

更准确地说,如果第 pp 号房子内装有信号发射器,则所有房间编号在 [p−r+1,p+r−1][p−r+1,p+r−1] 范围内的房子均可被其发出的无线信号覆盖,而其余房子则不会被其发出的无线信号覆盖。

例如,假设 n=6,r=2n=6,r=2,且第 2、52、5 号房子内装有信号发射器,则第 22 号房子内的发射器发出的信号可以覆盖第 1∼31∼3 号房子,第 55 号房子内的发射器发出的信号可以覆盖第 4∼64∼6 号房子,将两个发射器全部打开,则无线信号可以覆盖到所有房子。

初始时,所有无线信号发射器都是关闭的,请计算至少开启多少个无线信号发射器,才能保证所有房子都被无线信号覆盖到。

输入格式

第一行包含两个整数 nn 和 rr。

第二行包含 nn 个整数 a1,a2,…,ana1,a2,…,an,每个数要么是 11,要么是 00,ai=1ai=1 表示第 ii 号房子内装有无线信号发射器,ai=0ai=0 表示第 ii 号房子内未装无线信号发射器。

输出格式

一个整数,表示需要开启的无线信号发射器的最少数量。

如果无法使得所有房子都被无线信号覆盖到,则输出 −1−1。

数据范围

前 66 个测试点满足 1≤n≤101≤n≤10。
所有测试点满足 1≤n,r≤10001≤n,r≤1000,0≤ai≤10≤ai≤1。

输入样例1:

6 2
0 1 1 0 0 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值