[Đề thi lần 2] Bài 5: Truy vấn với hàng đợi
Truy vấn với hàng đợi
Ban đầu có một hàng đợi rỗng. Chỉ sử dụng mảng một chiều để mô phỏng hàng đợi; không sử dụng các cấu trúc dữ liệu có sẵn như queue hoặc stack.
Các loại truy vấn
- In kích thước hiện tại của hàng đợi.
- Kiểm tra hàng đợi có rỗng không: in
YESnếu rỗng, ngược lại inNO. - Truy vấn
3 x: thêm số nguyênxvào cuối hàng đợi. - Xóa phần tử đầu hàng đợi nếu hàng đợi không rỗng; nếu rỗng thì không làm gì.
- In phần tử đầu hàng đợi; nếu rỗng thì in
-1. - In phần tử cuối hàng đợi; nếu rỗng thì in
-1.
Input
- Dòng đầu tiên chứa số nguyên
N, là số lượng truy vấn. Ndòng tiếp theo, mỗi dòng chứa một truy vấn. Truy vấn loại3có thêm một số nguyênx.
Output
Với mỗi truy vấn loại 1, 2, 5 hoặc 6, in kết quả trên một dòng.
Ràng buộc
- \(1 \leq N \leq 1000\)
- Giá trị được thêm vào không vượt quá \(10^6\).
Ví dụ
Input
14
3 1
3 2
3 3
5
6
4
4
4
4
4
3 5
3 6
5
1
Output
1
3
5
2
Comments