[COCI2011-2012#4] ZIMA
题目描述
给定 $N$ 天的气温情况。规定:
- 当一天的温度小于 $0$ 时,则称之为冰冻日。
- 当连续 $T$ 天都是冰冻日时,则称之为一个持续时间为 $T$ 的冰期。
冰期来临之前的若干天都会被标为警示状态。若一个冰期的持续时间为 $T$ 天,则规定:
- 若一段冰期不是所有冰期中最长的,那么冰期来临之前的 $2T$ 天都被标记为警示状态。
- 若一段冰期是所有冰期中最长的,那么冰期来临之前的 $3T$ 天都被标记为警示状态。特别地,如果有多个最长的冰期,则只有一个被标记 $3T$ 天,其它的都为 $2T$ 天。
- 若当前正处于冰期,则不允许对当前冰期进行警示,但若条件允许,可以对未来的冰期进行警示。
你可以任意选择一个最长的冰期使得其来临之前需要被标记 $3T$ 天。求在所有选择的情况中,处于警示状态天数的最大值。
输入输出格式
输入格式
第一行,一个正整数 $N$。
第二行,$N$ 个整数 $T_i$,表示这 $N$ 天的温度。
输出格式
输出处于警示状态天数的最大值。
输入输出样例
输入样例 #1
8
1 -1 4 3 8 -2 3 -3
输出样例 #1
6
输入样例 #2
15
1 2 -1 2 3 4 5 6 1 4 8 3 -1 -2 1
输出样例 #2
8
说明
**【样例 1 解释】**
长度最长的冰期有 $3$ 个:$\texttt{-1; -2; -3}$。
当选择 $\texttt{-2}$ 作为需要在来临之前标记 $3T$ 天为警示状态的冰期时,处于警示状态的天数最大:
|天数|$1$|$2$|$3$|$4$|$5$|$6$|$7$|$8$|
| :----------: | :----------: | :----------: | :----------: | :----------: | :----------: | :----------: | :----------: | :----------: |
|温度|$1$|$-1$|$4$|$3$|$8$|$-2$|$3$|$-3$|
|是否为冰期|否|是|否|否|否|是|否|是|
|是否处于警示状态|是|否|是|是|是|是|是|否|
**【数据规模与约定】**
- 对于 $40\%$ 的数据,最长的冰期唯一。
- 对于 $100\%$ 的数据,$1 \le N \le 10^5$,$|T_i| \le 100$。
**【提示与说明】**
**题目译自 [COCI 2011-2012](https://hsin.hr/coci/archive/2011_2012/) [CONTEST #4](https://hsin.hr/coci/archive/2011_2012/contest4_tasks.pdf) _Task 2 ZIMA_。**
**本题分值按 COCI 原题设置,满分 $100$。由于洛谷不支持非整数分数,因此对于除不尽的情况进行了调整。**