CF250A Paper Work

题目描述

波利卡普斯已经在“F.R.A.U.D.”公司的分析部门工作了 $n$ 天。现在他的任务是为公司最近 $n$ 天的业绩制作一系列报告。我们知道一天的报告主要内容是 $a_i$,即公司第 $i$ 天的利润。如果 $a_i$ 为负数,则表示公司第 $i$ 天出现了亏损。 波利卡普斯需要将这些日报整理到文件夹中。每个文件夹应当包含公司连续几天的业绩数据。当然,每一天的信息必须且只应被放入一个文件夹。因此,他可以将前若干天的信息放入第一个文件夹,再将接下来的几天的信息放入第二个文件夹,依此类推。 已知老板每天只会阅读一个文件夹。如果一个文件夹中包含三天或以上的亏损(即 $a_i

输入格式

第一行包含一个整数 $n$($1\leq n\leq 100$),表示天数。第二行包含 $n$ 个整数 $a_1,a_2,\ldots,a_n$($|a_i|\leq 100$),表示公司第 $i$ 天的利润。如果没有亏损天数也是有可能的。

输出格式

输出一个整数 $k$,表示所需文件夹的最小数量。第二行输出 $k$ 个整数 $b_1, b_2, \ldots, b_k$,其中 $b_j$ 表示第 $j$ 个文件夹中包含的日报数量。 如果有多种分组方式,将任意一种分组输出即可。

说明/提示

以下是将第一组样例的数据分成三个文件夹的一种方式: 1 2 3 -4 -5 | -6 5 -5 | -6 -7 6 在第二组样例中,可以把所有五份报告都放在一个文件夹中。 由 ChatGPT 5 翻译