HX3787. 优先队列题一:实时评分

提交21 通过10
通过率47.6%
时间限制1000ms
内存限制128MiB

题目描述

题目描述

某次体育赛事采用了一种奇怪的评分系统,评分系统支持以下几种操作:

(1)一名评委给出自己的分数。用字符串 score 跟着一个数字 sis_i 表示,sis_i 表示分数,score 和 sis_i 之间有一个空格。

(2)去掉当前所有分数中最高的一个。用字符串 delete 表示。

(3)计算当前所有分数的平均分。用字符串 display 表示。

一共会有 mm 次操作。对于所有 display 操作,输出当前所有分数的平均分,按下述输出精度约定保留 3 位小数。

输入描述

第一行一个正整数 mm;

接下来 mm 行,每行一个操作。

输出描述

对于每个 display 操作,输出当前所有分数的平均分。

以浮点数形式输出,保留 3 位小数,输出精度约定见下文。

5
score 6
score 5
delete
score 1
display
3.000

说明提示

第 1 个操作为一名评委给出 6 分,此时所有分数是 [6]。

第 2 个操作为一名评委给出 5 分,此时所有分数是 [6,5]。

第 3 个操作为去掉一个最高分,此时所有分数是 [5]。

第 4 个操作为一名评委给出 1 分,此时所有分数是 [5,1]。

第 5 个操作为计算平均分,此时所有分数是 [5,1],平均分为 3.000。

输入样例 #2

2
score 1
display

输出样例 #2

1.000

输入样例 #3

5
score 9
score 9
score 1
delete
display

输出样例 #3

5.000

数据范围

对于 30%30\% 的数据中,满足 1≤m≤10001\le m\le1000;

对于 100%100\% 的数据中,满足 1≤m≤1000001\le m\le100000,1≤si≤1091\le s_i\le10^9。

输出精度约定: 使用 double 计算平均值,保留三位小数的结果以 C++ printf("%.3lf", 平均值) 的默认输出为准。