#783. 防御兽潮easy
防御兽潮easy
No submission language available for this problem.
Background
兽潮来袭,关小山受托需要对 n 个单位长度的防线进行防御。兽潮主要会对防线上的 m 个区间进行猛烈攻击。如果在这些区间中,放上了足够的防御炮,就可以抵御住。
Description
为了方便描述,将防线中的每个单位按顺序标记为 ,而兽潮的攻击的每个区间用一对 (, ) 表示。对于防御炮的足够,表示区间内,有防御炮的单位比没有防御炮的单位要多。举个例子:a = [1,0,1,0,1] 中,表示在 1,3,5 有防御炮。
- 若被攻击的区间是 [1, 5],那么兽潮被防御 (3 个 1,2 个 0)。
- 若被攻击的区间是 [1, 2],那么兽潮无法被防御 (1 个 1,1 个 0)。
关小山将会有 q 个炮台按顺序放置,问当至少安置第几个炮台的时候,至少有一个兽潮攻击的区间可以被防御。
Format
Input
输入第一行两个整数 n 和 m 分别表示防线单位长度和兽潮攻击的区间个数。
接下来的 m 行每行两个整数 l, r 表示兽潮将会攻击的区间。
再一行一个整数 q 表示炮台的个数
接下来的 q 行每行一个整数 x (1 ≤ x ≤ n)表示按顺序的第 i (1 ≤ i ≤ q) 个炮台所在的位置。
Output
输出一个整数,表示至少放置多少个炮台,就至少有一个区间可以被防御。若完全不能被防御,则输出 -1 。
Samples
5 5
1 2
4 5
1 5
1 3
2 4
5
5
3
1
2
4
3
4 2
1 1
4 4
2
2
3
-1
Limitation
1 ≤ m ≤ n ≤
1 ≤ l ≤ r ≤ n
1 ≤ q ≤ n