Bãi đỗ xe
Đề bài
Mô tả
Một đoạn đường dài mét được dùng làm bãi đỗ xe dọc theo lề đường. Các xe phải đỗ song song với lề đường. Trên đoạn đường này có một trục toạ độ: bãi đỗ bắt đầu tại điểm và kết thúc tại điểm , các xe di chuyển theo chiều toạ độ tăng dần.
Khi một tài xế muốn đỗ xe, anh ta sẽ tìm vị trí có toạ độ nhỏ nhất sao cho:
- Khoảng cách từ đuôi xe của anh ta tới đầu xe phía sau (xe có toạ độ nhỏ hơn) ít nhất là mét. Nếu phía sau không có xe nào, xe có thể đỗ ngay tại đầu bãi (toạ độ ).
- Khoảng cách từ đầu xe của anh ta tới đuôi xe phía trước (xe có toạ độ lớn hơn) ít nhất là mét. Nếu phía trước không có xe nào, xe chỉ cần nằm trọn trong bãi.
Cụ thể: gọi xe phía sau kết thúc tại toạ độ và xe phía trước bắt đầu tại toạ độ . Một chiếc xe dài mét được đỗ ở vị trí mà đuôi xe ở toạ độ (tức xe chiếm đoạn ) là hợp lệ khi và chỉ khi (hoặc không có xe phía sau và ), (hoặc không có xe phía trước và ), và .
Tài xế chọn giá trị nhỏ nhất thoả mãn. Nếu không có vị trí hợp lệ, tài xế bỏ đi (không đỗ).
Đôi khi một chiếc xe đang đỗ sẽ rời bãi, giải phóng chỗ. Tại bất kỳ thời điểm nào chỉ có nhiều nhất một xe đang di chuyển trên đường.
Cho dãy yêu cầu, hãy mô phỏng và xác định vị trí đỗ cho từng xe vào bãi.
Dữ liệu vào
- Dòng đầu tiên gồm ba số nguyên , , (, ).
- Dòng thứ hai gồm một số nguyên () — số yêu cầu.
- dòng tiếp theo, mỗi dòng gồm hai số nguyên mô tả một yêu cầu:
- — một xe có chiều dài () muốn vào bãi đỗ.
- — xe đã vào bãi qua yêu cầu thứ (chỉ số bắt đầu từ ) rời bãi. Đảm bảo xe ấy đang đỗ trong bãi tại thời điểm yêu cầu này.
Dữ liệu ra
Với mỗi yêu cầu loại , in ra trên một dòng vị trí (toạ độ đuôi xe) nhỏ nhất thoả mãn, hoặc nếu không có vị trí hợp lệ.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 30 1 2 6 1 5 1 4 1 5 2 2 1 5 1 4 |
0 6 11 17 23 |
Xe 1 đỗ tại , xe 2 tại (cách xe 1 đúng ), xe 3 tại . Sau khi xe 2 rời bãi, khoảng trống giữa xe 1 và xe 3 chỉ rộng — không đủ chứa xe dài với khoảng đệm ở sau và ở trước, nên xe 4 (yêu cầu 5) phải đỗ tại sau xe 3. |
| 30 1 1 6 1 5 1 4 1 5 2 2 1 5 1 4 |
0 6 11 17 6 |
Cùng tình huống nhưng . Sau khi xe 2 rời bãi, khoảng trống giữa xe 1 (kết thúc tại ) và xe 3 (bắt đầu tại ) rộng , vừa đủ chứa xe dài với phía sau và phía trước, nên xe cuối đỗ tại toạ độ . |
| 10 1 1 1 1 12 |
-1 | Xe dài vượt quá , không thể đỗ. |
Bình luận