求助了
  • 板块灌水区
  • 楼主syq2022
  • 当前回复7
  • 已保存回复7
  • 发布时间2023/8/10 17:17
  • 上次更新2023/11/3 04:40:32
查看原帖
求助了
894429
syq2022楼主2023/8/10 17:17

防御兽潮easy

题目背景

兽潮来袭,关小山受托需要对 n 个单位长度的防线进行防御。兽潮主要会对防线上的 m 个区间进行猛烈攻击。如果在这些区间中,放上了足够的防御炮,就可以抵御住。

题目描述

为了方便描述,将防线中的每个单位按顺序标记为 a1,a2,a3...ana_1,a_2, a_3 ... a_n,而兽潮的攻击的每个区间用一对 (ll, rr) 表示。对于防御炮的足够,表示区间内,有防御炮的单位比没有防御炮的单位要多。举个例子:a = [1,0,1,0,1] 中,表示在 1,3,5 有防御炮。

  • 若被攻击的区间是 [1, 5],那么兽潮被防御 (3 个 1,2 个 0)。
  • 若被攻击的区间是 [1, 2],那么兽潮无法被防御 (1 个 1,1 个 0)。

关小山将会有 q 个炮台按顺序放置,问当至少安置第几个炮台的时候,至少有一个兽潮攻击的区间可以被防御。

输入格式

输入第一行两个整数 n 和 m 分别表示防线单位长度和兽潮攻击的区间个数。

接下来的 m 行每行两个整数 l, r 表示兽潮将会攻击的区间。

再一行一个整数 q 表示炮台的个数

接下来的 q 行每行一个整数 x (1 ≤ x ≤ n)表示按顺序的第 i (1 ≤ i ≤ q) 个炮台所在的位置。

输出格式

输出一个整数,表示至少放置多少个炮台,就至少有一个区间可以被防御。若完全不能被防御,则输出 -1 。

样例 #1

样例输入 #1

5 5
1 2
4 5
1 5
1 3
2 4
5
5
3
1
2
4

样例输出 #1

3

样例 #2

样例输入 #2

4 2
1 1
4 4
2
2
3

样例输出 #2

-1

提示

30% 数据满足 n, m 不到 1000

100% 数据满足:

1 ≤ m ≤ n ≤ 10610^6

1 ≤ l ≤ r ≤ n

1 ≤ q ≤ n

2023/8/10 17:17
加载中...