博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
黑白奶牛(要用数组滚动哦)
阅读量:6294 次
发布时间:2019-06-22

本文共 1410 字,大约阅读时间需要 4 分钟。

第二篇博客,高兴高兴真高兴!!!

#206.黑白奶牛

有N只奶牛从左往右排成一行,编号是1至N。这N只奶牛当中,有一些奶牛是黑色的,其余的是白色的。

color[i]表示第i只奶牛的颜色,如果color[i]=0则表示第i头奶牛是黑色的,如果color[i]=1则表示第i头奶牛是白色的。

六一奶牛儿童节快到了,农场主Farmer John要从这N头奶牛当中,挑选尽可能多的奶牛去参加晚会。

Farmer John挑选奶牛的原则是:挑选编号是连续的一段奶牛,这一段奶牛的颜色必须全部是白色的。

Farmer John有一个魔法棒,每用一次魔法棒就可以把一头黑色的奶牛变成一头白色的奶牛,魔法棒最多只能使用K次。

在上述条件下,最多可以有多少头奶牛去参加晚会呢?

输入输出格式

输入格式:

第一行,两个整数,N和K。

第二行,N个整数,第i个整数就是color[i],color[i]要么是0,要么是1。

输出格式:

一个整数,表示最多有多少头奶牛可以去参加晚会。

输入输出样例

输入样例一:
11 01 1 0 0 1 1 1 1 0 1 1
输出样例一:
4
输入样例二:
11 11 1 0 0 1 1 1 1 0 1 1
输出样例二:
7

说明

样例说明:

样例一说明:由于K=0,所以不能使用魔法棒,所以挑选编号是5至8的奶牛去参加晚会。

样例二说明:由于K=1,所以最多可以使用1次魔法棒,使用魔法棒把第9头奶牛变成白色奶牛,然后挑选编号是5至11的奶牛去参加晚会。

//WZL//黑白奶牛//数组滚动(尺取法)#include
#include
#include
using namespace std;int n,l,k,hehe1[100000],a[100000],sum,smax;int main(){ cin>>n>>k;//输入数量和魔法棒 for(int i=1;i<=n;i++) { cin>>hehe1[i];//保存奶牛 a[i]=a[i-1];//前缀和 if(hehe1[i]==0) a[i]++;//前缀黑牛 } for(int i=1;i<=n;i++) { if(a[i]-a[l]<=k)//如果这一段黑牛小于魔法棒数 { sum++; if(i==n&&sum>smax)//如果为最末尾牛(i==n)而且这个方案>目前最大值 { smax=sum;//记录最大值 } } else//否则 { if(sum>smax)//找最大值 { smax=sum; } l++;//换一段黑牛再找 } } cout<

 

转载于:https://www.cnblogs.com/wenzile/p/10710059.html

你可能感兴趣的文章
服务器硬件问题整理的一点总结
查看>>
SAP S/4HANA Cloud: Revolutionizing the Next Generation of Cloud ERP
查看>>
Mellanox公司计划利用系统芯片提升存储产品速度
查看>>
白帽子守护网络安全,高薪酬成大学生就业首选!
查看>>
ARM想将芯片装进人类大脑 降低能耗是一大挑战
查看>>
Oracle数据库的备份方法
查看>>
Selenium 自动登录考勤系统
查看>>
关于如何以编程的方式执行TestNG
查看>>
智能照明造福千家万户 家居智能不再是梦
查看>>
物联网如何跳出“看起来很美”?
查看>>
浅谈MySQL 数据库性能优化
查看>>
《UNIX/Linux 系统管理技术手册(第四版)》——1.10 其他的权威文档
查看>>
灵动空间 创享生活
查看>>
《UNIX网络编程 卷1:套接字联网API(第3版)》——8.6 UDP回射客户程序:dg_cli函数...
查看>>
不要将时间浪费到编写完美代码上
查看>>
《算法基础:打开算法之门》一3.4 归并排序
查看>>
高德开放平台开放源代码 鼓励开发者创新
查看>>
《高并发Oracle数据库系统的架构与设计》一2.5 索引维护
查看>>
Firefox 是 Pwn2own 2014 上攻陷次数最多的浏览器
查看>>
阿里感悟(十八)- 应届生Review
查看>>