QOJ.ac

QOJ

実行時間制限: 1.0 s メモリ制限: 256 MB 満点: 100

#13155. 聪明的窃贼

統計

Ayu 成功偷到了 Budi 的宝箱,准备揭开 Budi 隐藏的任何秘密。不幸的是,宝箱有一个安全系统,可以防止任何未经授权的人(例如 Ayu)打开它。

为了解锁宝箱,Ayu 必须输入一个长度为 $N$ 的正确 PIN(个人识别码),当然,她并不知道这个 PIN。Ayu 别无选择,只能尝试所有可能的 PIN 组合。然而,Ayu 注意到这个安全系统有一个有趣的(老式)机制。

当你输入一个 $N$ 位的 PIN 时,它会被自动且迅速地评估,也就是说,你不需要按下任何“回车”按钮来确认 PIN。每当你输入的 PIN 错误时,它会移除最旧的(第一位)数字,并将剩余的所有数字向左移动,因此,你只需要再输入一个(最后一位)数字,使其再次达到 $N$ 位长度。

例如,设 $N = 4$。如果我们输入 204320435,那么我们实际上测试了 6 个 PIN(包含 5 个不同的 PIN):

  • [2043]20435,测试的 PIN = 2043
  • 2[0432]0435,测试的 PIN = 0432
  • 20[4320]435,测试的 PIN = 4320
  • 204[3204]35,测试的 PIN = 3204
  • 2043[2043]5,测试的 PIN = 2043
  • 20432[0435],测试的 PIN = 0435

注意,在这个例子中 2043 被测试了两次。

作为一名计算机专业的学生,Ayu 知道通过尝试所有可能的组合来找到正确的 PIN 可能非常耗时,但可惜的是,没有其他办法。Ayu 决定她想在第一天测试至少 $K$ 个不同的 PIN。你的任务是通过给 Ayu 一个包含至少 $K$ 个不同 PIN 的字符串 $S$ 来帮助她。Ayu 不关心她将测试哪个 PIN(只要至少有 $K$ 个不同的 PIN),也不关心 $S$ 中是否有任何 PIN 被测试超过一次,但字符串 $S$ 需要尽可能短。如果存在多个可能的字符串 $S$,你可以输出其中任何一个。

注意,由于这个系统非常老旧,只有 $M$ 个可用的数字,范围从 0 到 9。

输入格式

输入的第一行包含三个整数:$N, M, K$ ($1 \le N \le 100000, 1 \le M \le 10, 1 \le K \le \min(M^N, 100000)$),分别代表 PIN 的长度、可用数字的数量以及需要测试的最小 PIN 数量。下一行包含 $M$ 个整数:$A_i$ ($0 \le A_i \le 9$),代表可用的数字。你可以假设所有 $A_i$ 都是不同的。你还可以假设 $N, M$ 和 $K$ 的值使得答案的长度不超过 100000 位。

输出格式

输出一行,包含包含至少 $K$ 个不同 PIN 作为子串的最短字符串。如果存在多个这样的字符串,你可以输出其中任何一个。

样例

样例输入 1

3 2 5
4 7

样例输出 1

7477447

说明 1

字符串 7477447 测试了 5 个长度为 3 的不同 PIN,即 447, 477, 744, 747 和 774。

样例输入 2

2 5 9
1 2 3 4 5

样例输出 2

1234554321

说明 2

字符串 1234554321 测试了 9 个长度为 2 的不同 PIN,即 12, 21, 23, 32, 34, 43, 45, 54 和 55。

样例输入 3

6 3 2
9 3 5

样例输出 3

9353593

说明 3

字符串 9353593 测试了 2 个长度为 6 的不同 PIN,即 353593 和 935359。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.