题解:对于每个点 i 来说,从 j = i + r - 1 开始往前找,如果找到一个 a [ j ] 是 1 ,那么就把它选上,但是我们需要判断交界处,也就是如果前面选的那个可以让这个点变温暖,就不用再选多余的了。这样就记录一下前一个 last ,要满足 j > last。找到之后,就更新 i 的值,在 i + k 之间的都可以由选的这个点来温暖。

#include <iostream>
#include <bits/stdc++.h>
using namespace std; int a[2005]; int main()
{
int n,r;
while(scanf("%d%d",&n,&r) != EOF)
{
memset(a,0,sizeof(a));
for(int i = 1; i <= n; i ++)
{
scanf("%d",&a[i]);
}
int num = 0;
int last = 0,j,k;
for(int i = 1; i <= n;)
{
j = i + r - 1;
k = 0;
while(j > last)
{
if(a[j])
{
k = j;
break;
}
else j --;
}
if(k == 0) {printf("-1\n");return 0;}
else {
last = k;
num ++;
i = r + k;
}
}
printf("%d\n",num);
}
return 0;
}

最新文章

  1. 简单说说call 与apply
  2. 字符串流stringstream(头文件sstream)
  3. 转: Oracle表空间查询
  4. Downloader调用WCF服务返回文件
  5. [Math] Deferred Acceptance Algorithm
  6. 10.python之socket和socketserver
  7. Python进阶08 异常处理
  8. 2.cadence制板流程[原创]
  9. PDO(PHP Data Object),Mysqli,以及对sql注入等问题的解决
  10. IOS 表视图UITableView 束NSBundle
  11. Exception in thread &quot;main&quot; java.io.IOException: Failed to set permissions of path
  12. 《大数据互联网大规模数据挖掘与分布式处理》阅读笔记(四)-----WEB广告
  13. spring+ibatis问题1—— 程序报错:java.sql.SQLException: Io 异常: Connection reset by peer, socket write error; ”或“java.sql.SQLException 关闭的连接”异常
  14. 1623: [Usaco2008 Open]Cow Cars 奶牛飞车
  15. Python高级笔记(一) -- GIL (全局解释器锁)
  16. 我遇到的Spring的@Value注解失效问题
  17. iOS开发-修改UITableViewCell中image和title的位置和大小
  18. Java类型Float&amp;&amp;Double
  19. Druid学习---配置_DruidDataSource参考配置
  20. HDU 3473 Minimum Sum(划分树)

热门文章

  1. 相似文档查找算法之 simHash及其 java 实现
  2. 接口的鉴权cookie、session和token
  3. golang中生成读取二维码(skip2/go-qrcode和boombuler/barcode,tuotoo/qrcode)
  4. Nas 系统的虚拟化方案
  5. NMS(non maximum suppression,非极大值抑制)
  6. LCD 驱动 S3C2440A
  7. RabbitMq 消息队列 在Python端的应用
  8. 【TTS】传输表空间Linux asm -&gt; AIX asm
  9. Linux对变量的截取替换
  10. ubuntu16.04+GTX2080Ti+torch7安装记录