QOJ.ac

QOJ

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

#21433. Penjadwalan Tugas

Statistics

Pada sebuah mesin, terdapat $n$ tugas yang saling independen menunggu untuk dijadwalkan. Tugas yang mulai dijalankan pada waktu $t$ akan selesai pada waktu $t+1$. Semua tugas hanya dapat dimulai pada waktu bilangan bulat; saat sebuah tugas selesai, tugas lain dapat segera dimulai. Selama sebuah tugas sedang dijalankan, tidak ada tugas lain yang dapat dijalankan.

Setiap tugas memiliki batas waktu. Hal ini dapat dinyatakan sebagai berikut: waktu mulai dari tugas ke-$i$ harus berada di antara waktu $l_i$ dan waktu $r_i$ (inklusif).

Selain itu, terdapat $m$ batasan tambahan. Batasan ke-$j$ menyatakan bahwa di antara waktu $p_j$ dan waktu $q_j$ (inklusif), paling banyak hanya satu tugas yang boleh dimulai.

Tentukan waktu mulai dari setiap tugas sehingga memenuhi semua persyaratan di atas.

Masukan

Soal ini berisi beberapa kasus uji.

Baris pertama masukan berisi bilangan bulat tak negatif $T$, yang menyatakan banyaknya kasus uji.

Selanjutnya diberikan setiap kasus uji secara berurutan. Untuk setiap kasus uji:

  • Baris pertama berisi dua bilangan bulat $n$ dan $m$.

  • $n$ baris berikutnya masing-masing berisi dua bilangan bulat $l_i$ dan $r_i$, yang menyatakan interval waktu yang tersedia untuk tugas ke-$i$.

  • $m$ baris berikutnya masing-masing berisi dua bilangan bulat $p_j$ dan $q_j$, yang menyatakan interval batasan penjadwalan ke-$j$.

Keluaran

Untuk setiap kasus uji, keluarkan satu baris berisi $n$ bilangan bulat yang menyatakan waktu mulai masing-masing tugas secara berurutan. Secara khusus, jika tidak ada jadwal yang valid, keluarkan Impossible. Jika terdapat beberapa jadwal yang valid, keluarkan salah satu saja.

Contoh 1

Masukan

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

Keluaran

7 1
3 9
8 6
Impossible

Catatan

Contoh ini memenuhi batasan Subsoal $1$.

  • Untuk kasus uji pertama, kedua tugas dimulai masing-masing pada waktu $7,1$. Keduanya berada dalam rentang $[l,r]$ masing-masing dan memenuhi semua batasan.
  • Untuk kasus uji keempat, tiga tugas pertama hanya dapat dimulai pada waktu $6$ atau $7$. Oleh karena itu, tidak ada jadwal yang valid.

Contoh 2

Lihat ex_data2.in dan ex_data2.ans pada berkas lampiran.

Contoh ini memenuhi batasan Subsoal $2$.

Contoh 3

Lihat ex_data3.in dan ex_data3.ans pada berkas lampiran.

Contoh ini memenuhi batasan Subsoal $3$.

Contoh 4

Lihat ex_data4.in dan ex_data4.ans pada berkas lampiran.

Contoh ini memenuhi batasan Subsoal $4$.

Contoh 5

Lihat ex_data5.in dan ex_data5.ans pada berkas lampiran.

Contoh ini memenuhi batasan Subsoal $5$.

Contoh 6

Lihat ex_data6.in dan ex_data6.ans pada berkas lampiran.

Contoh ini memenuhi batasan Subsoal $6$.

Contoh 7

Lihat ex_data7.in dan ex_data7.ans pada berkas lampiran.

Contoh ini memenuhi batasan Subsoal $7$.

Contoh 8

Lihat ex_data8.in dan ex_data8.ans pada berkas lampiran.

Contoh ini memenuhi batasan Subsoal $8$.

Batasan

Misalkan $N,M$ masing-masing adalah jumlah dari $n,m$ di seluruh kasus uji dalam satu titik uji. Untuk semua kasus uji, berlaku:

  • $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}$.
Subsoal $N\le$ $M\le$ Sifat Khusus Poin
$1$ $10$ $10$ Tidak ada $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$ Tidak ada $15$
$8$ $2.5\times 10^5$ $2.5\times 10^5$ Tidak ada $15$

$\rm A$: Dijamin bahwa $n\le100$, dan untuk semua $1\le i< n$, berlaku $l_i\le l_{i+1}$ serta $r_i\le r_{i+1}$.

$\rm B$: Untuk semua $1\le i\le n$, berlaku $r_i\le 5\max(n,m)$.

$\rm C$: Untuk semua $1\le i\le m$, berlaku $p_i=i,q_i=i+1$, dan untuk semua $1\le i\le n$, berlaku $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.