Giá treo áo
Đề bài
Mô tả
Phòng gửi đồ của một công ty có một giá treo áo gồm móc xếp thành một hàng ngang, đánh số từ đến từ trái sang phải. Đầu ngày làm việc giá treo hoàn toàn trống.
Trong ngày, các nhân viên lần lượt đến và ra về. Khi một nhân viên đến, anh ta treo áo lên một móc trống theo quy tắc sau:
- Xét tất cả các đoạn móc trống liên tiếp (tối đại), chọn đoạn có độ dài lớn nhất.
- Nếu có nhiều đoạn cùng độ dài lớn nhất, chọn đoạn nằm bên phải nhất.
- Treo áo lên móc chính giữa đoạn đó. Nếu đoạn có số móc chẵn thì trong hai móc ở giữa, chọn móc bên phải.
Khi một nhân viên ra về, anh ta lấy đúng chiếc áo của mình, móc tương ứng trở lại trạng thái trống.
Thỉnh thoảng giám đốc muốn biết hiện có bao nhiêu chiếc áo đang được treo trên các móc từ đến . Hãy trả lời tất cả các truy vấn đó.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và là số móc treo và số sự kiện.
- dòng tiếp theo mô tả các sự kiện theo thứ tự thời gian:
- Dòng có dạng
0 i jlà một truy vấn của giám đốc: đếm số áo đang treo trên các móc từ đến . - Ngược lại, dòng chứa một số nguyên dương là mã của một nhân viên. Lần xuất hiện thứ lẻ của một mã ứng với việc nhân viên đó đến, lần xuất hiện thứ chẵn ứng với việc ra về.
- Dòng có dạng
Các nhân viên có mã đôi một khác nhau. Dữ liệu đảm bảo mỗi khi có nhân viên đến thì luôn còn ít nhất một móc trống, và có ít nhất một truy vấn của giám đốc.
Dữ liệu ra
Với mỗi truy vấn của giám đốc, in ra trên một dòng số áo đang treo trên các móc từ đến .
Ràng buộc
- Mã nhân viên là số nguyên dương không vượt quá
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 9 11 1 2 0 5 8 1 1 3 0 3 8 9 0 6 9 6 0 1 9 |
2 3 2 5 |
Nhân viên 1 đến: đoạn trống duy nhất là , treo vào móc . Nhân viên 2 đến: hai đoạn và cùng dài , chọn đoạn phải hơn, treo vào móc . Truy vấn cho . Nhân viên 1 ra về rồi lại đến: lúc này đoạn dài nhất là , treo vào móc . Nhân viên 3 đến: hai đoạn và cùng dài , chọn đoạn phải, treo vào móc ; truy vấn cho . Nhân viên 9 treo vào móc , truy vấn cho . Nhân viên 6 treo vào móc , truy vấn cho . |
| 7 3 0 2 5 1 0 4 4 |
0 1 |
Ban đầu giá treo trống nên truy vấn đầu tiên cho . Nhân viên 1 đến, đoạn trống là có móc nên treo vào móc chính giữa là móc . Truy vấn cho . |
Bình luận