Cho một tập hợp ban đầu rỗng. Bạn cần xử lí \(q\) truy vấn thuộc một trong các dạng sau:
-
1 x: Thêm một phần tử giá trị \(x\) vào tập hợp. -
2 x: Xóa một phần tử giá trị \(x\) khỏi tập hợp (nếu trong tập hợp có nhiều phần tử giá trị \(x\) thì chỉ xóa một phần tử, nếu không có phần tử nào giá trị \(x\) thì bỏ qua truy vấn này). -
3 a b: Đếm số lượng phần tử trong tập hợp có giá trị thuộc đoạn \([a, b]\). -
4 x: Tìm phần tử lớn nhất trong tập hợp có giá trị không vượt quá \(x\). Nếu không có phần tử nào thỏa mãn, in ra \(-1\). -
5 x y: Thay thế tất cả các phần tử có giá trị \(x\) trong tập hợp bằng giá trị \(y\).
Input
-
Dòng đầu tiên chứa số nguyên \(q\) (\(1 \le q \le 10^5\)).
-
\(q\) dòng tiếp theo, mỗi dòng chứa một truy vấn thuộc một trong các dạng được mô tả ở trên (\(1 \le x, a, b, y \le 10^6\)).
Dữ liệu được cho đảm bảo mỗi truy vấn thuộc đúng một trong 5 dạng trên.
Output
Với mỗi truy vấn thuộc loại \(3\), \(4\) hoặc \(5\), in ra trên một dòng riêng một số nguyên là đáp án tương ứng.
Example
Input:
8
1 1 3
1 2 2
5 1
3
2 1 2
1 3 4
4
5 2
Output:
7
1
3
17
Note
Diễn biến của tập hợp \(S\) qua từng truy vấn trong ví dụ:
-
Sau hai truy vấn chèn đầu tiên, \(S\) gồm \(3\) phần tử giá trị \(1\) và \(2\) phần tử giá trị \(2\).
-
Truy vấn 5 1: \(y = 1\). Không có giá trị nào nhỏ hơn \(1\) đang có trong \(S\) nên \(x\) không tồn tại. \(z = 2\) (giá trị nhỏ nhất lớn hơn \(1\)). Tổng các phần tử mang giá trị \(1\) hoặc \(2\) là \(1 \times 3 + 2 \times 2 = 7\).
-
Truy vấn 3: giá trị nhỏ nhất đang có trong \(S\) là \(1\).
-
Truy vấn 2 1 2: xóa \(2\) phần tử giá trị \(1\), còn lại \(1\) phần tử giá trị \(1\) và \(2\) phần tử giá trị \(2\).
-
Truy vấn 1 3 4: chèn thêm \(4\) phần tử giá trị \(3\). \(S\) gồm \(1\) phần tử giá trị \(1\), \(2\) phần tử giá trị \(2\), \(4\) phần tử giá trị \(3\).
-
Truy vấn 4: giá trị lớn nhất đang có trong \(S\) là \(3\).
-
Truy vấn 5 2: \(y = 2\). \(x = 1\) (giá trị lớn nhất nhỏ hơn \(2\)), \(z = 3\) (giá trị nhỏ nhất lớn hơn \(2\)). Tổng các phần tử mang giá trị \(1\), \(2\) hoặc \(3\) là \(1 \times 1 + 2 \times 2 + 3 \times 4 = 17\).
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.