编程题
### 问题描述 莉莉有一个字符串蛋糕,该字符串 $s$ 由 $n$ 个小写字母组成。 现在有 $q$ 名顾客,每名顾客会给莉莉两个位置 $l,r$,表示位于位置 $l$ 与位置 $r$(包括 $l,r$)之间的子串是顾客需要的蛋糕部分。同时,顾客们还有一个要求。顾客希望莉莉能把他们需要的蛋糕部分再次切成若干段,使得至少有两个段的字符是完全相同的。 莉莉为一个顾客提供服务的成本与切分的段中不同的段的个数有关,一个不同的段需要的成本为 $x$。 请你告诉莉莉为顾客提供切蛋糕服务所需要的最小成本,或者告诉顾客他选择的蛋糕段无法满足其要求。 ### 输入格式 输入第一行包含两个整数 $n,x$,含义见上文。 第二行包含一个字符串 $s$,表示蛋糕。 第三行包含一个整数 $q$,表示顾客的个数。 接下来的 $q$ 行,每行包含两个整数 $l,r$,表示顾客提出的两个位置。 ### 输出格式 输出共 $q$ 行,每行输出一个整数,第 $i$ 行表示为第 $i$ 名顾客提供切蛋糕服务所需要的最小成本。若其选择的蛋糕段无法满足其要求,输出 $-1$。 ### 样例输入 ``` 9 3 abcabcdce 7 1 6 4 7 5 9 6 9 1 9 3 6 4 4 ``` ### 样例输出 ``` 3 -1 12 9 6 6 -1 ``` ### 评测数据规模 对于所有评测数据,$1\leq{n}\leq{2\times 10^5 },1\leq{q}\leq{2\times 10^5 },1\leq{l}\leq{r}\leq{n},1\leq{x}\leq{10^3 }$。
查看答案
赣ICP备20007335号-2