告诉你一天n件事情

a[i]为1是休息 a[i]为2是工作

求最长连续的休息时间(即最长的1

可以作为环状来求。(即环状最长的1

这题就可以用前缀和贪心等什么操作。。

然后用\(ans1ans2\)瞎搞

#include <bits/stdc++.h>
using namespace std;
typedef long long LL ;
inline LL In() { LL res(0),f(1); register char c ;
while(isspace(c=getchar())) ; c == '-'? f = -1 , c = getchar() : f = 1 ;
while(res = (res << 1) + (res << 3) + (c & 15) , isdigit(c=getchar())) ; return res * f ;
}
int n ;
int a[200000+5] ;
int cnt[200000+5] ;
int flag = 1 ;
int ans = 0 ;
int ans1 = 0 ;
int ans2 = 0 ;
signed main() {
n = In() ;
for(register int i=1;i<=n;i++) a[i] = In() ;//读入
for(register int i=1;i<=n;i++)
if(a[i]==1) cnt[i]=cnt[i-1]+1,ans1=max(ans1,cnt[i]);//求前缀和 即当前最长的1 ans1储存最大值
else {
if(flag) ans2+=(i-1),flag=0;//储存最前面的一段1
cnt[i]=0;
}
if(cnt[n]) ans = cnt[n] + ans2;//如果第n个位置有连在一起的。
//则数字为 cnt[n]+ans2
cout << max(ans,ans1) << endl ;//ans求的是序列中最大值。 ans是首尾环状。 要求的是最长的则取max
return 0 ;
}

最新文章

  1. C# EF增删改查
  2. Java--&gt;服务器的响应(Servlet--doGet&amp;doPost)
  3. js读取Excel文件数据-IE浏览器
  4. javascript-设置div隐藏
  5. Css 八卦
  6. BFS+数据处理 Under the Trees UVa
  7. ElasticSearch的安装
  8. SpringCloud的Hystrix(一) 一个消费者内的两个服务监控
  9. 可能是CAP理论的最好解释
  10. 应付模块的R12 TRACE 和 FND Debug 文件 / FND 日志 调试
  11. QT中正则表达式的简单说明
  12. Windows环境下应用Java代码操作Linux资源
  13. iOS 中的特殊字面量表示方法
  14. 简述Oracle IOT(Index Organized Table)
  15. Nmap 命令操作详解
  16. python中 ImportError: No module XXX的解决办法
  17. Practical Node.js (2018版) 第3章:测试/Mocha.js, Chai.js, Expect.js
  18. laravel框架目录结构详解
  19. 用sql 生成2016年全年的日期
  20. Spring4笔记8--Spring与JDBC模板(IoC应用的例子)

热门文章

  1. 使用scrapy 爬取酷狗音乐歌手及歌曲名并存入mongodb中
  2. 如何卸载 win10 自带的“电影和电视”软件
  3. 升级 HTTPS,价值何在?
  4. Ubuntu16.04再次装机记
  5. noip模拟赛 密码
  6. 转载 - Python里面关于 模块 和 包 和 __init__.py 的一些事
  7. POJ——T3417 Network
  8. 解DBA之惑:数据库承载能力评估及优化手段
  9. netty学习(一)--linux下的网络io模型简单介绍
  10. Linux内核project导论——前言