都说小镇的切糕贵
题号:NC200516
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 64 M,其他语言128 M
64bit IO Format: %lld

题目描述

“一刀建林流泪,两刀马云都得跪。”摆在你面前的一长条切糕,你想尝到切糕里面所有的果仁,什么核桃呀,杏仁呀,巴旦木呀但因为切糕很贵,你要选取一段连续的切糕,使得你能吃到这份切糕里所有的果仁,切记切糕贵,所以要选取最短的长度并且要包含所有的果仁,这里的果仁可以简单的看做a果仁,b果仁,c果仁….,输出能包含所有果仁的最短长度。换句话说出现的果仁都要出现在你所选的区间里面,输出这个区间的最短长度。

输入描述:

第一行包含整数n(1≤n≤100 000)——切糕的长度。
第二行包含长度为n的字符串,它由英文字母表中的大写字母和小写字母组成。

输出描述:

输出一个整数,表示最小选取的长度。
示例1

输入

复制
1
A

输出

复制
1
示例2

输入

复制
4
qqqE

输出

复制
2
示例3

输入

复制
9
bcdddbddc

输出

复制
3