/ fz_zsl / 题库 /

图书管理系统

图书管理系统

Background

fzwer十分喜欢看书,但由于他经常要花很多时间刷题,所以常常没有时间整书。有一天,他在偶然之中得到了一个机器人,这个机器人可以帮助他整书,但是机器人的程序不知道被谁删掉了,所以fzwer希望你能帮他修复一下这个程序。

Description

每本书都有一个封面,封面上都写着这本书的书名,在本题中,所有书名都是不超过\(10^9\)的整数。
现在,fzwer有如下几种操作想让机器人学会完成:

1 插入一本书名为\(num\)的书;

2 删除一本书名为\(num\)的书;

3 给定书名\(num\),求它的排名;

4 给定整数\(r\),输出所有书中书名第\(r\)小的书的书名;

5 求\(num\)的前驱;

6 求\(num\)的后继;

7 随机抽取一本书,求书名的期望值。

Format

Input

第一行一个整数q,表示操作的数量。
接下来q行,每行两个数op,num,(操作7除外)分别表示操作的种类和操作的参数。

Output

按题目要求输出对应的答案,每行一个数。

Limitation

对于100%的数据:
总元素个数1<=n<=\(10^5\)
总询问个数1<=q<=\(10^5\)
操作类型1<=op<=6
操作参数0<=num<=\(10^9\)
书名1<=name<=\(10^9\)
保证所有数均为整数,且保证所有数据合法。

Time Limit:65ms
Memory Limit:512MB

Hint

操作5如果没有前驱的话就输出-inf(-1073741824/-0x3f3f3f3f);
操作6如果没有后继的话就输出inf(1073741824/0x3f3f3f3f);
操作7的输入只有一个数且输出方式为"%d/%d",且分数必须要是最简分数。特别的,当答案为整数时,请输出\(x/1\)。

信息

难度
9
分类
(无)
标签
递交数
12
已通过
2
通过率
17%
上传者

相关

在下列比赛中:

比赛功能测试 - rated