该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
对于一个字符串 w=w1w2…wlen,我们称正整数 p (1≤p≤len) 是w 的周期,当且仅当对于任意的 i (1≤i≤len−p) 都有 wi=wi+p。
小 Z 有一个长度为 n 的字符串 d=d1d2…dn,他用这个字符串生成了 n+1 个字符串 S0,S1,S2,…,Sn,其中 S0 是空串。接下来,对于每个 i (1≤i≤n) :
- 如果 di 是一个小写英文字符,那么 Si=di+Si−1 ,也就是在 Si−1 前面添加字符 di 得到 Si。
- 如果 di 是一个大写英文字符,那么假设 di 的小写形式是 ci,那么 Si=Si−1+ci,也就是在 Si−1 后面添加字符 ci 得到 Si。
小 Y 有 m 个整数 p1,p2,…,pm,并向你问了 q 个问题:
第 i 个问题会提供三个参数 ki,li,ri ,请你找出最小的整数 x,使得 x 是 Ski 的周期,并且 x 是 pli,pli+1,…,pri−1,pri 中的某个数。如果你找不到这样的整数 x,输出 −1 。
输入格式
从 period.in 文件读入数据。
第一行一个整数 n 。
第二行一个长度为 n 的字符串d=d1d2…dn,由大写和小写的英文字符构成。
第三行一个整数 m 。
第四行 m 个整数 p1,p2,⋯,pm 。
第五行一个整数 q 。
接下来 q 行,每行三个整数 ki,li,ri ,代表第 i 个询问。
输出格式
输出到 period.out 文件。
对于每个询问,输出一行一个整数,代表答案。
样例
7
AABAAba
9
4 3 2 1 7 5 3 6 1
6
1 4 4
2 1 4
2 1 3
3 3 5
5 4 7
7 8 9
1
1
2
-1
3
6
样例 2
点击链接 ex_period2.in 和 ex_period2.out 下载大样例 2 的输入数据和输出数据。
数据范围
对于所有数据,$1\le n,m,q\le 5\times 10^5,1\le p_i,k_i\le n,1\le l_i\le r_i\le m$
| 子任务 |
分数 |
附加约束条件 |
| 1 |
10 |
m≤3,n≤1000 |
| 2 |
15 |
n,m,q≤100 |
| 3 |
20 |
对任意询问都有 ri−li≤100 |
| 4 |
25 |
对任意 i∈{2,3,⋯,m},pi≥pi−1 |
| 5 |
30 |
无附加限制 |