[CPP61 - Test 2] Bài 7: Quầy bán vé - Khách mua thật


LÀM BÀI

Points: 100
Time limit: 1.0s
Memory limit: 256M

Author:
Problem types
Allowed languages
C++

Quầy bán vé - Khách mua thật

Quầy bán vé ca nhạc có n vé. Vé thứ i có giá h_i; các vé có thể có cùng giá. Có m khách hàng lần lượt đến quầy. Khách thứ j chỉ chấp nhận mức giá không vượt quá t_j và luôn muốn chọn vé đắt nhất trong số các vé phù hợp.

Yêu cầu

Các khách mua thật theo thứ tự đến quầy. Khách thứ j mua vé đắt nhất còn lại có giá không vượt quá t_j; vé đã bán không được bán lại.

Với mỗi khách, hãy in giá vé mà khách đó mua được, hoặc -1 nếu không còn vé phù hợp. Nếu nhiều vé cùng giá, mỗi lượt mua chỉ lấy đi một vé.

Input

  • Dòng đầu chứa hai số nguyên n và m.
  • Dòng thứ hai chứa n số nguyên h_1, h_2, ..., h_n là giá các vé.
  • Dòng thứ ba chứa m số nguyên t_1, t_2, ..., t_m là mức giá tối đa của khách theo thứ tự đến quầy.

Output

In m dòng. Dòng thứ j là giá vé trả lời cho khách thứ j, hoặc -1 nếu không có vé phù hợp.

Ràng buộc

  • 1 ≤ n, m ≤ 200000.
  • 1 ≤ h_i, t_j ≤ 10^9.

Nhóm test

  • Test 01-05 (50 điểm): n, m ≤ 2000.
  • Test 06-10 (50 điểm): ràng buộc đầy đủ.

Ví dụ 1

Input

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

Output

6
6
4
3
-1
9

Giải thích

Hai khách đầu mua hai vé giá 6. Khách thứ ba chỉ còn vé giá 4; khách thứ tư mua vé giá 3. Khách thứ năm không mua được, khách cuối mua vé giá 9.


Comments

There are no comments at the moment.

Zalo