#SIM303. 日志压缩器
SIM303 日志压缩器
难度梯度:T3-|训练重点:分段扫描与收尾
题目描述
给定长度 N 的大写字母串,将每个最长连续相同字符段压缩为“字母+段长”。例如 AAABB 压成 A3B2。输出压缩结果以及最长段的长度;若最长段不唯一,输出最先出现段的字母。
最长连续段必须尽可能向两侧延伸,同一字符若被其他字符隔开属于不同段。压缩串中的段长使用普通十进制表示,不加空格。
输入格式
第一行 N;第二行长度 N 的大写字母串 S。
输出格式
第一行压缩后的字符串;第二行最长段字母和长度。
样例输入
8
AAABBCCC
样例输出
A3B2C3
A 3
样例说明
A 与 C 的最长段均为 3,取最先出现的 A。
数据范围
1≤N≤2×10^5。
子任务
30 分:N≤100;30 分:所有段长为 1;40 分:无附加限制。