Phục vụ khách
Đề bài
Mô tả
Hai nhân viên phục vụ ở một quán ăn lần lượt đón khách. Khách vào quán từng người một, đánh số theo thứ tự đến. Mỗi khách khi vào được ước lượng một giá trị (số tiền dự kiến chi tiêu).
Hai nhân viên chọn khách để phục vụ theo hai cách khác nhau:
- Nhân viên thứ nhất luôn phục vụ khách đến sớm nhất trong số những khách chưa được phục vụ.
- Nhân viên thứ hai luôn phục vụ khách có giá trị lớn nhất trong số những khách chưa được phục vụ; nếu có nhiều khách cùng giá trị lớn nhất thì chọn người đến sớm nhất trong số đó.
Mỗi khách chỉ được phục vụ đúng một lần. Hãy xử lý truy vấn thuộc ba loại sau:
1 m— một khách mới vào quán với giá trị ước lượng là .2— nhân viên thứ nhất phục vụ một khách; in ra số thứ tự của khách đó.3— nhân viên thứ hai phục vụ một khách; in ra số thứ tự của khách đó.
Dữ liệu vào
- Dòng đầu tiên chứa số nguyên — số truy vấn.
- dòng tiếp theo, mỗi dòng là một truy vấn theo một trong các định dạng:
1 m,2, hoặc3.
Truy vấn loại 2 và 3 chỉ xuất hiện khi còn ít nhất một khách chưa được phục vụ. Có ít nhất một truy vấn loại 2 hoặc 3.
Dữ liệu ra
Với mỗi truy vấn loại 2 hoặc 3, in ra số thứ tự của khách được phục vụ trong truy vấn đó. Các số có thể in cách nhau bởi dấu cách trên cùng một dòng.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 8 1 8 1 10 1 6 3 2 1 9 2 3 |
2 1 3 4 | Ba khách 1, 2, 3 với giá trị 8, 10, 6. Truy vấn 3 chọn khách giá trị lớn nhất là khách 2. Truy vấn 2 chọn khách đến sớm nhất còn lại là khách 1. Khách 4 vào với giá trị 9. Truy vấn 2 chọn khách 3. Truy vấn 3 chọn khách 4. |
| 6 1 8 1 10 1 8 3 3 3 |
2 1 3 | Ba khách với giá trị 8, 10, 8. Truy vấn 3 đầu chọn khách 2 (giá trị 10). Hai truy vấn 3 sau chọn giữa khách 1 và 3 cùng giá trị 8, ưu tiên đến sớm hơn nên lần lượt là 1 rồi 3. |
Bình luận