#P4792. [BalticOI 2018] 火星人的 DNA
[BalticOI 2018] 火星人的 DNA
题目描述
题目译自 BalticOI 2018 Day1「Martian DNA」
给定一个字符集大小 的长度为 的字符串和 个要求,每个要求为使子串中的字符 至少出现 次。求出满足所有要求的最短子串长度。
输入格式
第一行包括三个整数 ,分别表示字符串的长度、字符集的大小和要求个数,保证 。
第二行包含 个用空格隔开的整数,表示这个字符串。字符从 开始编号,每个字符集中的字符至少出现一次。
接下来的 行,每行两个整数 和 ,表示一组要求,满足 ,同一个字符不会被重复要求两次。
输出格式
输出一个整数,满足所有要求的最短子串长度。特别地,如果不存在这样的子串,输出 "impossible
"。
5 2 2
0 1 1 0 1
0 1
1 1
2
13 4 3
1 1 3 2 0 1 2 0 0 0 0 3 1
0 2
2 1
1 2
7
5 3 1
1 2 0 1 2
0 2
impossible
提示
样例 1 解释
有三个长度为 的子串含有字符 和 各一个,分别为 0 1
、1 0
和 0 1
,但是不存在长度为 的子串满足要求,因此满足要求的最短子串的长度为 。
样例 2 解释
最短的满足要求的子串为 1 3 2 0 1 2 0
。
样例 3 解释
在这个字符串中,0
的数量不足。
子任务 | 分值 | 限制 |
---|---|---|
感谢 Hatsune_Miku 提供的翻译