CTDL - set8 - Truy vấn trên set
Point: 100.0
Time limit: 1.0s
Memory limit: 977 M
Input:
stdin
Output:
stdout
Author:
Problem type
C - Cấu trúc dữ liệu nâng cao: 05 - Set
Ngôn ngữ cho phép
C#, C++, Java, Python
Cho 1 tập hợp số nguyên dương \(S\). Ban đầu, tập hợp này rỗng.
Cho 1 số nguyên dương \(k\). Ban đầu, \(k = 1.\)
Cho \(T\) truy vấn, mỗi truy vấn có dạng:
1 x
: Thêm một phần tử có giá trị bằng \(x\) vào tập hợp \(S\).2 plus
: Tăng \(k\) lên 1 đơn vị.2 minus
: Giảm \(k\) đi 1 đơn vị.3
: In ra phần tử nhỏ thứ \(k\) trong tập hợp \(S\).
Yêu cầu
Với mỗi truy vấn loại 3, in ra phần tử nhỏ thứ \(k\) trong tập.
Input
- Dòng đầu tiên chứa 1 số nguyên dương \(T\) \((1 ≤ T ≤ 10^5)\).
- \(T\) dòng tiếp theo, mỗi dòng chứa 1 truy vấn thuộc một trong bốn truy vấn ở trên.
- Ta có thể đảm bảo mọi x của truy vấn loại 1 đôi một khác nhau.
- Ta có thể đảm bảo tại mọi truy vấn, \(1 ≤ k ≤ S. size().\)
Output
Với mỗi truy vấn loại 3, in ra kết quả tương ứng trên các dòng khác nhau.
Example
INPUT | OUTPUT |
---|---|
7 1 3 3 1 5 2 plus 3 2 minus 3 |
3 5 3 |
Gợi ý: Vì trong tập hợp Set, ta không thể đưa ngay ra một phần tử khi biết vị trí của phần tử đó.