Cho một đa tập ~S~ gồm ~n~ số nguyên không âm. Hãy thực hiện ~q~ truy vấn thuộc một trong ba dạng sau:
~\mathtt{1\;} x~: Thêm ~x~ vào ~S~.
~\mathtt{2\;} x~: Xóa một lần xuất hiện của ~x~ khỏi ~S~.
~\mathtt{3\;} k~: Trong các cách chia ~S~ thành ~k~ đa tập con không rỗng ~S_1,S_2,\ldots, S_k~, hãy tìm cách chia có tổng ~\displaystyle \sum_{i=1}^k \operatorname{cost}(S_i)~ là lớn nhất. Ở đây, với ~X=\{x_1, x_2, \ldots, x_q\}~, định nghĩa ~\operatorname{cost}(X)=x_1\,\&\,x_2\,\&\,\ldots\,\&\,x_q~ với ~\&~ là toán tử AND.
Input
Dòng đầu tiên gồm hai số nguyên ~n~ và ~q~ (~1\le n, q\le 10^5~) — số phần tử của ~S~ và số lượng truy vấn.
Dòng thứ hai gồm ~n~ số nguyên ~s_1,s_2,\ldots,s_n~ (~0\le s_i<2^{30}~) — các phần tử của ~S~.
Mỗi dòng trong ~q~ dòng tiếp theo gồm hai số nguyên mô tả các truy vấn. Số nguyên đầu tiên là ~t~ sẽ nhận giá trị thuộc ~\{1,2,3\}~.
Nếu ~t=1~, tiếp theo là một số nguyên ~x~ (~0\le x<2^{30}~) — số nguyên cần thêm vào ~S~.
Nếu ~t=2~, tiếp theo là một số nguyên ~x~ (~0\le x<2^{30}~; ~x \in S~) — số nguyên cần xóa khỏi ~S~.
Nếu ~t=3~, tiếp theo là một số nguyên ~k~ (~1\le k\le |S|~) — số đa tập con cần chia ra.
Output
Với mỗi truy vấn loại ~3~, in ra một số nguyên là kết quả của truy vấn trên một dòng.
Scoring
Subtask | Điểm | Ràng buộc |
---|---|---|
1 | ~1000~ | ~n, q\le 2000~; có tất cả ~q = n~ truy vấn, trong đó truy vấn thứ ~i~ là "~\mathtt{3\;} i~" |
2 | ~750~ | Có tất cả ~q = n~ truy vấn, trong đó truy vấn thứ ~i~ là "~\mathtt{3\;} i~" |
3 | ~1000~ | ~n, q\le 2000~ |
4 | ~1250~ | Không có ràng buộc gì thêm |
Tổng | ~4000~ |
Sample Input 1
3 5
3 4 5
3 2
1 4
3 3
2 5
3 2
Sample Output 1
7
12
7
Sample Input 2
6 6
5 5 6 6 7 7
3 1
3 2
3 3
3 4
3 5
3 6
Sample Output 2
4
11
18
25
31
36
Notes
Đối với ví dụ đầu tiên, đa tập hợp ban đầu là ~\{3, 4, 5\}~:
Một cách chia tối ưu cho ~k=2~ là ~\{3\}, \{4, 5\}~.
Đa tập hợp mới sau khi thêm ~4~ là ~\{3, 4, 4, 5\}~.
Một cách chia tối ưu cho ~k=3~ là ~\{3\}, \{4, 4\}, \{5\}~.
Đa tập hợp mới sau khi xóa ~5~ là ~\{3, 4, 4\}~.
Một cách chia tối ưu cho ~k=2~ là ~\{3\}, \{4, 4\}~.
Bình luận