QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 256 MB Total points: 100

#402. Матрёшка

Statistics

Вы собираетесь открыть магазин матрёшек и заказали на фабрике $N$ матрёшек. Они пронумерованы от $1$ до $N$. Матрёшку с номером $i$ ($1 \le i \le N$) можно считать полым прямым круговым цилиндром с диаметром основания $R_i$ см и высотой $H_i$ см.

Матрёшки можно хранить, вкладывая одну в другую. В каждую матрёшку можно непосредственно вложить только одну другую матрёшку, у которой и диаметр основания, и высота строго меньше. Вложенная матрёшка, в свою очередь, может содержать другую матрёшку.

Однажды с фабрики, на которой вы заказали матрёшки, пришло сообщение. Поскольку фабрика не может подготовить все $N$ заказанных матрёшек одновременно, заранее будут доставлены все матрёшки из заказа, у которых диаметр основания не меньше $A$ см, а высота не больше $B$ см.

Значения $A$ и $B$ могут внезапно измениться. Поэтому для каждой из $Q$ пар $(A_j,B_j)$ ($1 \le j \le Q$) вы решили заранее найти минимальное возможное число матрёшек, не вложенных ни в какую другую матрёшку, при хранении заранее доставленных матрёшек одна в другой.

Задание

Даны диаметры оснований и высоты всех матрёшек, а также $Q$ пар $(A_j,B_j)$ ($1 \le j \le Q$). Напишите программу, которая для каждой пары находит минимальное возможное число матрёшек, не вложенных ни в какую другую матрёшку, при хранении заранее доставленных матрёшек одна в другой.

Входные данные

Считайте следующие данные со стандартного ввода.

  • Первая строка содержит целые числа $N,Q$, разделённые пробелом. Это означает, что заказано $N$ матрёшек и задано $Q$ пар значений $A,B$.
  • Строка с номером $i$ ($1 \le i \le N$) из следующих $N$ строк содержит целые числа $R_i,H_i$, разделённые пробелом. Диаметр основания матрёшки с номером $i$ равен $R_i$ см, а её высота — $H_i$ см.
  • Строка с номером $j$ ($1 \le j \le Q$) из следующих $Q$ строк содержит целые числа $A_j,B_j$, разделённые пробелом.

Выходные данные

Выведите $Q$ строк. В строке с номером $j$ ($1 \le j \le Q$) выведите для пары $(A_j,B_j)$ минимальное возможное число матрёшек, не вложенных ни в какую другую матрёшку, при хранении заранее доставленных матрёшек одна в другой.

Ограничения

Все входные данные удовлетворяют следующим условиям.

  • $1 \le N \le 200\,000$.
  • $1 \le Q \le 200\,000$.
  • $1 \le R_i \le 1\,000\,000\,000$ ($1 \le i \le N$).
  • $1 \le H_i \le 1\,000\,000\,000$ ($1 \le i \le N$).
  • $1 \le A_j \le 1\,000\,000\,000$ ($1 \le j \le Q$).
  • $1 \le B_j \le 1\,000\,000\,000$ ($1 \le j \le Q$).

Подзадачи

Подзадача 1 [11 баллов]

Выполняются следующие условия.

  • $N \le 10$.
  • $Q=1$.

Подзадача 2 [15 баллов]

Выполняются следующие условия.

  • $N \le 100$.
  • $Q=1$.

Подзадача 3 [25 баллов]

Выполняются следующие условия.

  • $N \le 2\,000$.
  • $Q \le 2\,000$.

Подзадача 4 [49 баллов]

Дополнительных ограничений нет.

Примеры

Входные данные 1

7 3
9 5
3 7
10 6
5 10
2 6
10 10
4 1
10 5
3 5
3 9

Выходные данные 1

0
1
2

Примечание

  • При $(A,B)=(10,5)$ нет ни одной матрёшки с диаметром основания не меньше $10$ см и высотой не больше $5$ см, поэтому нужно вывести 0.
  • При $(A,B)=(3,5)$ будут доставлены матрёшки с диаметром основания не меньше $3$ см и высотой не больше $5$ см, то есть матрёшки с номерами $1$ и $7$. Матрёшку с номером $7$ можно вложить в матрёшку с номером $1$. Минимальное число матрёшек, не вложенных ни в какую другую матрёшку, равно $1$.
  • При $(A,B)=(3,9)$ будут доставлены матрёшки с диаметром основания не меньше $3$ см и высотой не больше $9$ см, то есть матрёшки с номерами $1$, $2$, $3$ и $7$. В этом случае матрёшку с номером $7$ можно вложить в матрёшку с номером $1$, а матрёшку с номером $1$ — в матрёшку с номером $3$. Минимальное число матрёшек, не вложенных ни в какую другую матрёшку, равно $2$.

Входные данные 2

10 8
14 19
9 16
11 2
7 18
20 16
9 5
10 9
20 6
4 17
13 8
7 14
9 3
9 13
4 19
12 4
19 16
18 10
7 14

Выходные данные 2

3
1
3
5
0
2
1
3

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
EditorialOpen Official EditorialQingyu- Download

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.