#P5861. [IOI 2015] teams

[IOI 2015] teams

题目描述

班里有 NN 个学生,他们的编号为从 00 到 N−1N-1。每天,老师都有一些项目需要学生去完成。每个项目都需要由一组学生在一天内完成。项目的难度可能不同。对于每个项目,老师知道应该选择由多少学生组成的小组去完成。

不同的学生对小组的规模有不同的喜好。更准确地说, 对学生 ii 而言, 他只愿意在小组规模介于 A[i]A[i] 和 B[i]B[i] 之间(含 A[i]A[i] 和 B[i]B[i])的小组工作。每一天,一个学生最多只能被分配到一个小组工作。有些学生可能未被分配到任何小组中。每个小组只负责一个项目。

老师已选择好接下来 QQ 天中每一天的项目。对于每一天, 现需要判断是否有一种分配学生的方案,使得每个项目都有一个小组负责。

输入格式

  • 第 11 行有一个正整数 NN,表示班内学生的数量;
  • 第 22 到 N+1N+1 行有两个 A[i]A[i],B[i]B[i];
  • 第 N+2N+2 行有一个正整数 QQ;
  • 第 N+3N+3 到 N+Q+2N+Q+2 行,包含一个正整数 MM,表示当天要完成的项目数, 后有一个长度为 MM 的序列 KK。K[i]K[i] (1≤i≤M1\le i\le M) 表示项目 ii 所需的小组规模。

输出格式

共 QQ 行,对于每一个问题, 你的程序必须输出是否存在一种小组分配的方案,可以完成当天的所有项目。若可以完成分组去完成当天所有的项目,输出 1, 否则,应输出 0。

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

1
0

提示

对于 100%100\% 的数据,1≤N≤5×1051\le N\le 5 \times 10^5,1≤Q≤2×1051\le Q\le 2 \times 10^5, ∑M≤2×105\sum M \leq 2\times 10^5。