记录编号 551715 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 中位数 最终得分 100
用户昵称 Gravatar锝镆氪锂铽 是否通过 通过
代码语言 C++ 运行时间 1.861 s
提交时间 2020-06-18 19:09:35 内存使用 3.16 MiB
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <queue>

using namespace std;

int n;
double a;
int main(void){
    freopen("median.in","r",stdin);
    freopen("median.out","w",stdout);
    scanf("%d",&n);
    priority_queue <double> pq;
    for (int i = 1;i <= n;i++){
        scanf("%lf",&a);
        if (i <= (n / 2 + 1)){
            pq.push(a);
        }
        else{
            if (a > pq.top())
               continue;
            else{
                pq.pop();
                pq.push(a);
            }
        }
    }
    if (n % 2 == 1){
       printf("%0.1lf\n",pq.top());
    }
    else{
        double x = 0;
        x += pq.top();
        pq.pop();
        x += pq.top();
        x /= 2;
        printf("%0.1lf\n",x);
    }
        
    return 0;
}