[CPP61 - Test 2] Bài 7: Quầy bán vé - Khách mua thật
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
nvàm. - Dòng thứ hai chứa
nsố nguyênh_1, h_2, ..., h_nlà giá các vé. - Dòng thứ ba chứa
msố nguyênt_1, t_2, ..., t_mlà 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