编程题
### 问题描述 多组数据,每次给出一个小写字符串 $s$ 和一个整数 $k$。定义 $A_i$ 为出现次数恰好为 $k$ 的 $s$ 长度为 $i$ 的子串个数,设 $L=\max_{i=1}^{|s|} A_i$,若 $L=0$,则输出 $-1$,否则求 $\max_{i=1}^{|s|}i\times [A_i=L]$。 其中,如果表达式 $\mathrm{cond}$ 为真,则 $[\mathrm{cond}]=1$,否则 $[\mathrm{cond}]=0$。 ### 输入格式 输入包括若干行: 第一行一个整数 $T$,表示数据组数。 接下来 $T$ 行,每行一个小写字符串 $s$ 和一个整数 $k$。 ### 输出格式 输出包括 $T$ 行: 对于每次数据,输出一行一个整数表示答案。 ### 样例输入 ```text 6 aab 1 abc 1 aaaa 2 abab 2 ababacc 2 abab 4 ``` ### 样例输出 ```text 2 1 3 1 2 -1 ``` ### 说明 对于第一个数据:其中子串 $\texttt{b, aa, ab, aab}$ 均只出现一次,其中长度为 $1$ 的子串出现了 $1$ 次,长度为 $2$ 的子串出现了 $2$ 次,长度为 $3$ 的子串出现了 $1$ 次。所以答案为 $2$。 对于第六个数据:其中子串没有出现四次。所以本题的本题的答案为 $-1$。 ### 评测数据规模 对于 $100$% 的评测数据,$1\leq |s|\leq 10^5,1 ≤ T ≤ 100,\sum |s|\leq 3 \times 10^6,1\leq k\leq 10^9$。
查看答案
赣ICP备20007335号-2