CF963D Frequency of String

题目描述

给你一个字符串 $s$,你要回答 $n$ 个问题,第 $i$ 个询问包含两个参数,一个整数 $k_i$ 和一个字符串 $m_i$,你需要回答从 $s$ 中选出一个它的连续子串 $t$ 使得 $m_i$ 作为 $t$ 的子串出现了至少 $k_i$ 次,$t$ 的长度的最小值。 保证两个询问的 $m_i$ 不同。

输入格式

第一行一个字符串 $s(1\le \vert s\vert\le 10^5)$。\ 第二行一个整数 $n(1\le n\le 10^5)$。\ 接下来 $n$ 行,每行一个整数 $k_i(1\le k_i\le\vert s\vert)$ 和一个非空字符串 $m_i$。 保证输入字符串均由小写字母组成。 保证单个测试点内输入的所有字符串长度之和不超过 $10^5$。

输出格式

输出 $n$ 行,第 $i$ 行输出一个整数表示第 $i$ 个询问的答案。 特别地,若 $m_i$ 作为 $s$ 的子串出现次数少于 $k_i$,在第 $i$ 行输出一个整数 $-1$。