P12612 [CCC 2025 Junior] Sunny Days

题目背景

本题满分 15 分。

题目描述

CEMCity 拥有大量历史天气数据。数据中每一天都被标记为晴天(S)或降水日(P)。Jeremy 想要找出最长的连续晴天记录。然而,这些数据中恰好有一天的记录是错误的(但 Jeremy 不知道是哪一天)。 你的任务是帮助 Jeremy 计算出可能的最长连续晴天天数。 ![](https://cdn.luogu.com.cn/upload/image_hosting/mirndz24.png)

输入格式

第一行输入一个正整数 $N$,表示历史数据的天数。接下来的 $N$ 行每行包含一个字符 $S$(晴天)或 $P$(降水日),按时间顺序排列。

输出格式

输出一个非负整数 $M$,表示可能的最长连续晴天天数。

说明/提示

**样例输入输出解释** 如果第三天的数据是错误的(实际应为晴天),那么从第二天到第五天将出现连续 4 天的晴天记录。这是可能的最长连续晴天天数。也就是说,无论哪一天的数据是错误的,都不会出现 5 天或更长的连续晴天。 以下表格展示了 15 分的分配情况: |分值|描述|数据范围| |:-:|:-:|:-:| |2|历史数据天数较少。数据由连续的 S 和连续的 P 组成(其中一个部分可能为空)|$N\leq 1000$| |4|历史数据天数较少。数据中 S 和 P 可能交替出现|$N\leq 1000$| |9|历史数据可能包含大量天数|$N\leq 500\,000$| 翻译由 DeepSeek V3 完成