欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF250A.Paper Work
Paper Work
题目描述
波利卡普斯已经在“F.R.A.U.D.”公司的分析部门工作了 天。现在他的任务是为公司最近 天的业绩制作一系列报告。我们知道一天的报告主要内容是 ,即公司第 天的利润。如果 为负数,则表示公司第 天出现了亏损。
波利卡普斯需要将这些日报整理到文件夹中。每个文件夹应当包含公司连续几天的业绩数据。当然,每一天的信息必须且只应被放入一个文件夹。因此,他可以将前若干天的信息放入第一个文件夹,再将接下来的几天的信息放入第二个文件夹,依此类推。
已知老板每天只会阅读一个文件夹。如果一个文件夹中包含三天或以上的亏损(即 ),老板就会大发雷霆。
因此,波利卡普斯希望整理文件夹,使得每个文件夹中亏损天数都不超过两天,并且文件夹总数尽可能少。
给定序列 ,请编程输出所需的最小文件夹数。
输入格式
第一行包含一个整数 (),表示天数。第二行包含 个整数 (),表示公司第 天的利润。如果没有亏损天数也是有可能的。
输出格式
输出一个整数 ,表示所需文件夹的最小数量。第二行输出 个整数 ,其中 表示第 个文件夹中包含的日报数量。
如果有多种分组方式,将任意一种分组输出即可。
说明/提示
以下是将第一组样例的数据分成三个文件夹的一种方式:
1 2 3 -4 -5 | -6 5 -5 | -6 -7 6
在第二组样例中,可以把所有五份报告都放在一个文件夹中。
由 ChatGPT 5 翻译
样例
11
1 2 3 -4 -5 -6 5 -5 -6 -7 6
3
5 3 3
5
0 -1 100 -1 0
1
5
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |