跳转至

纸老虎序列

预估时间限制:0.5 秒。内存限制:16 MB。

实际时限以标准程序在目标评测环境的最慢用例中位时间乘以 \(2\) ,按 \(0.5\) 秒向上取整。参考环境见评测说明。

背景故事

档案员给一条“纸老虎”纸条增加内容:每次从当前文字中循环抄取一小段,接到最前面。现在需要按编号找回若干个历史版本。

(本故事由GPT-6重写)

形式化问题描述

初始字符串为 \(S_0\) .进行 \(N\) 次增长,第 \(i\) 次使用参数 \(p_i\) ,由 \(S_{i-1}\) 得到 \(S_i\) .字符串下标从 \(0\) 开始。

设当前长度为 \(L=|S_{i-1}|\) ,新增长度为

\[ D=\left\lceil\frac{L}{5}\right\rceil \]

依次抄取字符 \(S_{i-1}[(p_i+k)\bmod L]\) ,其中 \(k=0,1,\ldots,D-1\) ,组成字符串 \(T_i\) .令

\[ S_i=T_i+S_{i-1} \]

其中 \(+\) 表示字符串连接。所有抄取都使用增长前的字符串,遇到末尾后从开头继续。

给定 \(M\) 个两两不同的版本编号,按询问顺序输出对应字符串。

输入格式

第一行是非空字符串 \(S_0\) ,仅含英文字母和数字,大小写有区别。

第二行是 \(N,M\) .接下来 \(N\) 行依次给出 \(p_1,\ldots,p_N\) .再接下来 \(M\) 行,每行一个版本编号 \(q\) .

输出格式

输出 \(M\) 行,每行是一次询问对应的完整字符串 \(S_q\) .\(M=0\) 时输出为空。

样例

样例 1

输入

0123456789
5 6
8
10
12
14
15
5
4
3
2
1
0

输出

345676789789898890123456789
6789789898890123456789
789898890123456789
898890123456789
890123456789
0123456789

样例 2

输入

A
0 1
0

输出

A

样例 3

输入

abcde
2 3
4
5
2
0
1

输出

eeeabcde
abcde
eabcde

样例解释

第一组保留了全部六个版本,并按编号从大到小输出。第二组不进行增长。

第三组中,第一次从下标 \(4\) 抄取一个字符 e ,得到 eabcde .第二次新增两个字符,从下标 \(5\) 开始循环抄取得到 ee ,因此新串为 eeeabcde .

循环抄取并添加到字符串前端

数据范围与保证

\(1\le |S_0|\le10\) ,\(0\le N\le70\) ,\(0\le p_i\le10^9\) .

\(0\le M\le N+1\) ,每个版本编号满足 \(0\le q\le N\) ,询问编号两两不同。

分值比例 额外条件
100% 无额外条件