Vượt qua đường
Xem dạng PDFTrong một buổi diễn tập, phòng tuyến bảo vệ là một đường thẳng (trục tọa độ). Có ~n~ đèn pha, mỗi đèn luôn chiếu sáng một đoạn thẳng và đoạn này tịnh tiến dọc theo trục với vận tốc không đổi.
Đèn thứ ~i~ tại thời điểm ~0~ chiếu sáng đoạn ~[a_i, b_i]~ và di chuyển với tốc độ ~v_i~:
- Nếu ~a_i < b_i~ thì đoạn chiếu sáng di chuyển theo chiều tăng của trục tọa độ.
- Nếu ~a_i > b_i~ thì đoạn chiếu sáng di chuyển theo chiều giảm của trục tọa độ.
Các đoạn chiếu sáng của các đèn có thể rời nhau hoặc chồng lấn.
Đơn vị trinh sát có ~m~ người cần vượt qua phòng tuyến tại điểm có tọa độ ~x~. Người thứ ~j~ đến vị trí vượt tại thời điểm ~t_j~ và chỉ được vượt khi tại thời điểm đó điểm ~x~ không bị bất kỳ đèn nào chiếu sáng. Thời gian vượt qua được coi bằng ~0~.
Yêu cầu
Với mỗi người thứ ~j~, hãy xác định thời điểm sớm nhất ~T_j \ge t_j~ mà người đó có thể vượt qua, và in ra ~T_j~ với độ chính xác ~10^{-6}~.
Lưu ý: Nếu tại thời điểm nào đó ~x~ vừa hết bị chiếu sáng (kết thúc một khoảng bị chiếu sáng), người lính có thể vượt ngay sau thời điểm đó; vì vậy cần in ra thời điểm biên kết thúc tương ứng.
Dữ liệu
- Dòng đầu chứa ba số nguyên ~n, m, x~ (~1 \le n, m \le 10^5~, ~|x| \le 10^9~).
Trong ~n~ dòng tiếp theo, dòng thứ ~i~ chứa ba số nguyên ~a_i, b_i, v_i~:
- ~|a_i|, |b_i| \le 10^9~, ~a_i \ne b_i~
- ~1 \le v_i \le 10^9~
- Dòng cuối chứa ~m~ số nguyên ~t_1, t_2, \dots, t_m~ (~0 \le t_j \le 10^9~).
Kết quả
In ra ~m~ dòng, dòng thứ ~j~ là thời điểm sớm nhất người thứ ~j~ có thể vượt qua, với sai số không quá ~10^{-6}~.
Ví dụ
Ví dụ 1
Input
3 2 0
-4 -1 1
13 6 3
-7 -6 1
1 5
Output
4.333333333
5.000000000
Ràng buộc và chấm điểm
- ~1 \le n, m \le 10^5~
- ~|x| \le 10^9~
- ~|a_i|, |b_i| \le 10^9~, ~a_i \ne b_i~
- ~1 \le v_i \le 10^9~
- ~0 \le t_j \le 10^9~
Bình luận