最小的间隔
题号:NC200140
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

给你一个长度为的字符串,求子序列"zsc"的最小间隔。

一个字符串的子序列是将这个串中的若干字符提取出来得到一个新串,并且不改变它们的相对位置关系。例如,"zsc""zabsicke"的子序列,但不是"zabcise"的子序列。

s[i] = 'z',

s[j] = 's',

s[k] = 'c'(0≤i<j<k<n),我们定义此子序列"zsc"的间隔为:min(j–i, k-j)。其中s[i]s[j]s[k]分别表示字符串s中下标为ijk的字符,下标从0开始。

你需要找到一个子序列"zsc",使得这个子序列的间隔最小,并输出最小间隔。

如果无法找到任何子序列 "zsc" ,则输出 -1

输入描述:

第一行是一个整数, 代表有组数据。
每组数据第一行包括一个整数n,然后第二行输入一个由n个小写字母组成的字符串。

输出描述:

每组数据对应只有1行输出,输出题目要求的最小间隔。
示例1

输入

复制
3
6
zasabc
6
sczacm
3
zsc

输出

复制
2
-1
1