Chỗ ngồi trong nhà hát

View as PDF

Submit solution

Points: 200.00 (partial)
Time limit: 1.0s
Memory limit: 1G
Input: stdin
Output: stdout

Author:
Problem type
Allowed languages
C, C++, GAS64, Pascal, Perl, PHP, Python, Sed, TCL, Text

Trong một nhà hát có 𝑁 chỗ ngồi, chúng được xếp thành một hàng dài đánh số từ 1 đến 𝑁 và từ trái qua phải. Ghế số 1 gần khán đài nhất và ghế số 𝑁 là ghế xa nhất. Khi thấy phía trong nhà hát còn ghế trống thì nhân viên bán vé mới bán vé cho khán giả vào. Ban đầu tất cả các ghế đều trống, khách đầu tiên vào chắc chắn sẽ ngồi ghế trên cùng (ghế số 1). Mỗi khi có khán giả vào thêm, họ luôn chọn chỗ sao cho khoảng cách từ họ đến người gần nhất là xa nhất có thể. Nếu có nhiều chỗ như vậy thì họ chọn ghế có số thứ tự nhỏ nhất. Trong suốt buổi hòa nhạc, nhân viên bán vé thấy có 𝑄 người ra và vào. Hỏi số ghế mỗi người vào là sau là số nào theo cách chọn chỗ như trên.

Input:

  • Dòng 1 là 2 số 𝑁,𝑄 ( 𝑁 là số ghế; 𝑄 là số người ra, vào).
  • 𝑄 dòng tiếp theo mô tả người ra, người vào: Nếu là (1) thì có người vào và cần tìm số ghế mà người đó chọn. Nếu là (2, i) thì là người thứ i đi ra khỏi nhà hát.

Biết rằng 1 ≤ 𝑁 ≤ ~10^{18}~;1 ≤ 𝑄 ≤ ~10^5~.

Output:

Gồm nhiều số tương ứng với số ghế của những người vào sau đã chọn Example:

Ví dụ:
INPUT
2 7 
1
1
2 1 
1
2 2 
2 3
1
OUTPUT
1 
2 
1 
1

Giải thích:

  • Có 2 ghế và 7 lượt vào ra. Người 1 vào, chọn ghế 1. Người 2 vào, chọn ghế 2. Người 1 ra, ghế 1 trống. Người 3 vào, chọn ghế 1. Người 2 ra, ghế 2 trống. Người 3 ra, ghế 1 trống Người 4 vào chọn ghế 1.

Comments

Please read the guidelines before commenting.


There are no comments at the moment.