B4240 [海淀区小学组 2025] 最短字符串

题目背景

2025 年海淀区中小学生信息学竞赛小学组复赛题目,数据为洛谷自造。

题目描述

给定一个仅由大小写字母构成的长度为 $n$ 的字符串 $S$,求字符串 $S$ 的一个子串 $T$,使得字符串 $T$ 中包含字符串 $S$ 中所有种类的字母(区分大小写),输出子串 $T$ 的最小长度。例如,如果 $S = \tt{aabCce}$,则 $S$ 中包含的不同种类的字母有 $\tt a$,$\tt b$,$\tt C$,$\tt c$,$\tt e$,要子串中包含全部的这四类字母,则子串的索引区间为 $[2, 6]$,即 $S$ 中的第 $2$ 个字符到第 $6$ 个字符,即字符串 $\tt{abCce}$。

输入格式

第一行仅有一个整数 $n$,第二行包含一个符合题目要求的长度为 $n$ 的字符串 $S$。

输出格式

仅有一个不超过 $n$ 的正整数,表示符合题目要求的子串的最小长度。

说明/提示

- 对于 $10\%$ 的数据,所有字符都不相同; - 对于另外 $30\%$ 的数据,字符串 $S$ 中只包含两种类别的字符。 - 对于另外 $60\%$ 的数据,字符串的长度不会超过 $10^5$。 对于所有数据,字符串的长度不超过 $10^5$,且只包含大小写字母。