9784: 连胜精英

内存限制:1024 MB 时间限制:1 S
题面:传统 评测方式:文本比较 上传者:
提交:0 通过:0

题目描述

在语言学习平台多邻国的系统中,连胜表示用户连续完成至少一节课的天数计数。多邻国用这种方法压
力你保持学习习惯。
虽然高级会员可以使用连胜激冻功能(在缺勤时维持连胜,如上图中结冰标记的日期),但免费用户会
受限,本题中我们假设该功能不可用。尽管如此,你仍有一种能保持连胜的秘诀:系统会根据设备设置
的本地时区计算连胜天数。
这意味着你可以在提交课程前调整设备时区,系统会按照修改后的时区计算。利用这个特性,理
论上你可以在“明天”完成一节课,然后回到“今天”再提交一节课!由于时区范围从UTC-12到UTC+14
(https://en.wikipedia.org/wiki/Time zone),UTC+8的用户最多可以将时钟回调 20 小时或调快 6
小时。为简化问题,我们假设可以调整到任意时区(包括非整数时区),而不需要考虑现实中实际存在
的时区列表。其他可能影响计算的因素(如夏令时)也忽略不计。
给定用户的所有提交记录(格式为YYYY-MM-DD HH:mm:SS,UTC+8时区),请通过最优选择每次提交前
的时区设置,计算可能达到的最大和最小最长连胜天数。最长连胜天数定义为:在给定时区调整方案
下,最长的在时间 00:00:00 至 23:59:59 至少有一次提交记录的连续天数。

输入格式

第一行包含整数n(1 ≤ n ≤ 105)表示提交记录数。
接下来n行每行包含一个UTC+8时区的时间戳,格式为YYYY-MM-DD HH:mm:SS,保证按时间顺序给出。
保证所有日期都在 2000-01-01 至 2999-12-31 之间。

输出格式

输出两个空格分隔的整数:可能的最大最长连胜天数和最小最长连胜天数。

输入样例#1 复制

3
2020-02-29 09:10:23
2020-02-29 11:45:14
2020-02-29 12:34:58

输出样例#1 复制

2 1

输入样例#2 复制

3
2025-08-12 18:00:00
2025-08-12 18:00:01
2025-08-12 18:00:02

输出样例#2 复制

3 1

数据范围与提示

对于第二组样例,
• 不做任何修改,那么最长连胜是 1 天(2025 年 8 月 12 日);
• 将第一个提交记录调慢 20 小时(UTC-12),第二个提交记录调快 6 小时(UTC+14),那么最
长连胜是 3 天(2025 年 8 月 11 日到 2025 年 8 月 13 日)。
在这个问题中,我们使用常见的闰年规则。一个年份被称为闰年当且仅当
• 该年份能被4整除,并且;
• 该年份不能被100整除,除非它也能被400整除。
否则,该年份称为平年。例如,2000是一个闰年,但1900是一个平年。每个月的天数如下表所示。