$CF1141B Maximal Continuous Rest$
2024-09-30 23:28:41
告诉你一天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 ;
}
最新文章
- C# EF增删改查
- Java-->;服务器的响应(Servlet--doGet&;doPost)
- js读取Excel文件数据-IE浏览器
- javascript-设置div隐藏
- Css 八卦
- BFS+数据处理 Under the Trees UVa
- ElasticSearch的安装
- SpringCloud的Hystrix(一) 一个消费者内的两个服务监控
- 可能是CAP理论的最好解释
- 应付模块的R12 TRACE 和 FND Debug 文件 / FND 日志 调试
- QT中正则表达式的简单说明
- Windows环境下应用Java代码操作Linux资源
- iOS 中的特殊字面量表示方法
- 简述Oracle IOT(Index Organized Table)
- Nmap 命令操作详解
- python中 ImportError: No module XXX的解决办法
- Practical Node.js (2018版) 第3章:测试/Mocha.js, Chai.js, Expect.js
- laravel框架目录结构详解
- 用sql 生成2016年全年的日期
- Spring4笔记8--Spring与JDBC模板(IoC应用的例子)
热门文章
- 使用scrapy 爬取酷狗音乐歌手及歌曲名并存入mongodb中
- 如何卸载 win10 自带的“电影和电视”软件
- 升级 HTTPS,价值何在?
- Ubuntu16.04再次装机记
- noip模拟赛 密码
- 转载 - Python里面关于 模块 和 包 和 __init__.py 的一些事
- POJ——T3417 Network
- 解DBA之惑:数据库承载能力评估及优化手段
- netty学习(一)--linux下的网络io模型简单介绍
- Linux内核project导论——前言