AO LÀNG VII - KỆ SÁCH

Xem dạng PDF

Gửi bài giải

Điểm: 100,00 (OI)
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 512M
Input: SHELF.INP
Output: SHELF.OUT

Dạng bài
Máy chấm
Alisa Mikhailovna Kujou, Kanade Yoisaki

Sau khi mua một nùi truyện segg về, Loli cần phải cất giữ chúng ở trong một kệ sách. Kệ sách nhà Loli có ~n~ vị trí để đựng sách, các vị trí được đánh số lần lượt từ ~1~ tới ~n~. Ban đầu sẽ không có sách trên kệ. Mỗi ngày, Loli sẽ thực hiện một số thay đổi trên kệ sách. Có ~4~ hành động Loli có thể làm:

  • ~1\ x~: Đặt một cuốn sách vào vị trí thứ ~x~. Nếu đã có sách ở vị trí ~x~ từ trước, giữ nguyên.
  • ~2\ x~: Lấy cuốn sách (nếu có) ở vị trí thứ ~x~ ra.
  • ~3~: Đảo ngược trạng thái trên kệ. Những vị trí có sách sẽ được lấy ra, và những vị trí không có sách sẽ được thêm sách vào.
  • ~4\ x~: Đưa kệ sách trở về quá khứ, trạng thái kệ sách y hệt như ngày thứ ~x~. Nếu ~x=0~, thì trạng thái sẽ là ban đầu – tức là khi chưa có sách.

Sau mỗi ngày Loli muốn biết có bao nhiêu sách trên kệ. Bạn hãy code giúp Loli nhé!

Input:

Lấy từ tệp SHELF.INP gồm:

  • Dòng đầu tiên chứa số nguyên ~n\ (1\le n\le4000)~ – số vị trí trong kệ sách.
  • Dòng tiếp theo chứa số nguyên ~q\ (1\le q\le5\times10^5)~ – số ngày cần tính.
  • ~q~ dòng cuối cùng chứa các hành động trong ~q~ ngày theo quy ước phía trên.

Output:

Ghi ra tệp SHELF.OUT:

  • Gồm ~q~ dòng, mỗi dòng chứa một số thể hiện số sách trên kệ vào ngày đó.
Sample Input 1
4
4
1 1
3
2 4
4 0
Sample Output 1
1
3
2
0

Ràng buộc

  • 30% số test có ~q\le10^3~.
  • 30% số test có ~n\le150~.
  • 40% số test không có ràng buộc gì thêm.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.