QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 1024 MB Total points: 100 Hackable ✓

#21433. Планирование задач

Statistics

На одной машине есть $n$ независимых друг от друга задач, ожидающих планирования. Задача, запущенная в момент времени $t$, завершается в момент времени $t+1$. Все задачи могут запускаться только в целочисленные моменты времени; как только одна задача завершается, можно сразу же запустить другую задачу. Пока выполняется одна задача, никакая другая задача выполняться не может.

Задачи имеют ограничения по времени запуска: момент запуска $i$-й задачи должен находиться между моментом $l_i$ и моментом $r_i$ (включительно).

Кроме того, имеется $m$ ограничений. $j$-е ограничение означает, что в промежутке от момента $p_j$ до момента $q_j$ (включительно) может быть запущено не более одной задачи.

Определите момент запуска каждой задачи так, чтобы выполнялись все указанные выше требования.

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

Эта задача содержит несколько наборов входных данных.

Первая строка входных данных содержит неотрицательное целое число $T$ — количество наборов входных данных.

Далее последовательно описаны наборы входных данных. Для каждого набора входных данных:

  • Первая строка содержит два целых числа $n$ и $m$.

  • Следующие $n$ строк содержат по два целых числа $l_i$ и $r_i$, задающих допустимый временной отрезок для запуска $i$-й задачи.

  • Следующие $m$ строк содержат по два целых числа $p_j$ и $q_j$, задающих отрезок $j$-го ограничения планирования.

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

Для каждого набора входных данных выведите в одной строке $n$ целых чисел — моменты запуска каждой задачи по порядку. В частности, если допустимого расписания не существует, выведите Impossible. Если допустимых расписаний несколько, выведите любое из них.

Пример 1

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

4
2 3
2 7
1 10
7 8
2 10
1 6
2 2
2 5
1 9
1 5
4 9
2 4
3 8
3 6
2 7
4 7
8 9
1 6
4 1
6 7
6 7
6 7
1 11
21 31

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

7 1
3 9
8 6
Impossible

Примечание

Этот пример удовлетворяет ограничениям подзадачи $1$.

  • В первом наборе входных данных две задачи запускаются в моменты времени $7,1$ соответственно. Оба момента лежат в своих отрезках $[l,r]$, и все ограничения выполнены.
  • В четвёртом наборе входных данных первые три задачи могут быть запущены только в момент времени $6$ или $7$. Следовательно, допустимого расписания не существует.

Пример 2

См. файлы ex_data2.in и ex_data2.ans в дополнительных материалах.

Этот пример удовлетворяет ограничениям подзадачи $2$.

Пример 3

См. файлы ex_data3.in и ex_data3.ans в дополнительных материалах.

Этот пример удовлетворяет ограничениям подзадачи $3$.

Пример 4

См. файлы ex_data4.in и ex_data4.ans в дополнительных материалах.

Этот пример удовлетворяет ограничениям подзадачи $4$.

Пример 5

См. файлы ex_data5.in и ex_data5.ans в дополнительных материалах.

Этот пример удовлетворяет ограничениям подзадачи $5$.

Пример 6

См. файлы ex_data6.in и ex_data6.ans в дополнительных материалах.

Этот пример удовлетворяет ограничениям подзадачи $6$.

Пример 7

См. файлы ex_data7.in и ex_data7.ans в дополнительных материалах.

Этот пример удовлетворяет ограничениям подзадачи $7$.

Пример 8

См. файлы ex_data8.in и ex_data8.ans в дополнительных материалах.

Этот пример удовлетворяет ограничениям подзадачи $8$.

Ограничения

Пусть $N,M$ — суммы значений $n,m$ по всем наборам входных данных в одном тесте соответственно. Для всех тестов выполняется:

  • $1 \le n \le 2.5 \times 10^5,0 \le m \le 2.5 \times 10^5$;
  • $1 \le l_i \le r_i \le 10^{9}$;
  • $1 \le p_j \le q_j \le 10^{9}$.
Номер подзадачи $N\le$ $M\le$ Особые свойства Баллы
$1$ $10$ $10$ Нет $5$
$2$ $2.5\times 10^5$ $2.5\times 10^5$ $\rm A$ $5$
$3$ $10^3$ $10^3$ $\rm B$ $15$
$4$ $2.5\times 10^5$ $2.5\times 10^5$ $\rm C$ $15$
$5$ $10^4$ $10^4$ $\rm B$ $15$
$6$ $10^5$ $10^5$ $\rm B$ $15$
$7$ $10^5$ $10^5$ Нет $15$
$8$ $2.5\times 10^5$ $2.5\times 10^5$ Нет $15$

$\rm A$: гарантируется, что $n\le100$, и для всех $1\le i< n$ выполняется $l_i\le l_{i+1}$, $r_i\le r_{i+1}$.

$\rm B$: для всех $1\le i\le n$ выполняется $r_i\le 5\max(n,m)$.

$\rm C$: для всех $1\le i\le m$ выполняется $p_i=i,q_i=i+1$, а также для всех $1\le i\le n$ выполняется $r_i\le m$.

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.