NHÀ HÀNG

An là một đầu bếp và anh ấy vừa khai trương một nhà hàng. Nhà hàng mở cửa trong \(n\) khoảng thời gian \(\left\lbrack \left. \ l_{1},r_{1} \right) \right.\ ,\left\lbrack \left. \ l_{2},r_{2} \right) \right.\ ,\ldots,\left\lbrack \left. \ l_{n},r_{n} \right) \right.\ \). Không có hai khoảng thời gian nào giao nhau, tức là với mọi \(i,j\) sao cho \(i
eq j\)
thì \(r_{i} < l_{j}\) hoặc \(r_{j} < l_{i}\). Có \(m\) người (được đánh số từ \(1\) tới \(m\)) lên kế hoạch ăn ở nhà hàng. Gọi thời gian người \(i\) đến nhà hàng là \(p_{i}\). Nếu nhà hàng mở cửa vào thời gian đó, tức là tồn tại chỉ số \(j\) \((1 \leq j \leq n)\) sao cho \(l_{j} \leq p_{i} < r_{j}\), thì người này không phải đợi, nhưng nếu nhà hàng đang đóng cửa thì người này phải chờ cho tới khi nhà hàng mở cửa hoặc phải chờ mãi mãi.

Với mỗi người, hãy tính thời gian họ phải chờ đợi (nếu người đó không phải đợi thì thời gian chờ đợi bằng \(0\)), hoặc xác định người đó sẽ phải chờ mãi mãi.

Dữ liệu vào:

+ Dòng đầu tiên chứa số nguyên \(t\) \(\left( 1 \leq t \leq 10^{2} \right)\) là số test. Các dòng tiếp theo mô tả \(t\) test, mỗi test mô tả như sau:

  • Dòng đầu tiên của mỗi test chứa hai số nguyên \(n\)\(m\) \(\left( 1 \leq n,m \leq 10^{5} \right)\);

  • \(n\) dòng tiếp theo của mỗi test, mỗi dòng chứa hai số nguyên \(l_{i}\)\(r_{i}\) \(\left( 1 \leq l_{i} < r_{i} \leq 10^{9} \right)\). Không có hai khoảng thời gian nào giao nhau;

  • \(m\) dòng tiếp theo của mỗi test, mỗi dòng chứa một số nguyên \(p_{i}\) \(\left( 1 \leq p_{i} \leq 10^{9} \right)\).

Tổng các giá trị \(n\) của tất cả các test không vượt quá \(3 \times 10^{5}\) và tổng các giá trị \(m\) của tất cả các test không vượt quá \(3 \times 10^{5}\).

Kết quả:

+ Với mỗi test, in ra \(n\) dòng: dòng thứ \(i\) chứa một số nguyên là thời gian người thứ \(i\) phải chờ đợi hoặc in ra \(- 1\) nếu người đó phải chờ mãi mãi.

Ví dụ:

Input Output
1
4 5
5 7
9 10
2 3
20 30
5
6
7
35
1
0
0
2
-1
1

Ràng buộc:

+ Có 50% số test ứng với 50% số điểm của bài thỏa mãn: \(t = 1;n \leq 10^{3}\)\(m \leq 10^{3}\);

+ 50% số test còn lại ứng với 50% số điểm của bài không có thêm ràng buộc nào.

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. sythai (5/8)
  2. npk1605 (5/10)
  3. trungnam (4/4)
Trong 7 ngày
  1. nguyenanhvu (40/64)
  2. khieuquan (35/59)
  3. ngokhang (27/55)
Trong 30 ngày
  1. quechi (85/105)
  2. dangphong3108 (79/125)
  3. kiennhientv (79/179)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38905

Lưu Hải Phong - 2020
[email protected]