排序题,54分tle(yggpls)
  • 板块学术版
  • 楼主dendky
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/8/22 22:32
  • 上次更新2024/8/23 10:12:57
查看原帖
排序题,54分tle(yggpls)
1365127
dendky楼主2024/8/22 22:32

优先队列

题目描述

输入n,紧接着需要进行n次操作,第i次操作为:“op[i],x[i]”。 如果op[i]=1,表示需要把x[i]放入优先队列。

如果op[i]=2,忽略x[i],表示需要输出当前优先队列中的最大元素。

如果op[i]=3,忽略x[i],表示需要把优先队列中的最大元素丢出队列。

输入格式

第一行一个整数 n。

接下来 n 行,每行都是空格隔开的两个整数,第i行为:“op[i],x[i]”。

输出格式

对每个操作 2,输出一行一个整数,即这个操作的答案。

//数据范围懒得打,反正n<=10的6次方,都开long long 即可

tle代码:

#include <bits/stdc++.h>
using namespace std;
long long op[1000005];
long long x[1000005];
long long p[1000009];
int main() {
    long long n;
    cin>>n;
    for (int i=1; i<=n; i++){
        cin>>op[i]>>x[i];
        if (op[i] == 1){
            p[i]=x[i];
        }
        if (op[i] == 2){
            sort(p+1, p+n+1);
            cout<<p[n]<<endl;
        }
        if (op[i] == 3){
            sort(p+1, p+n+1);
            p[n]=0;
        }
    }
    return 0;
}
2024/8/22 22:32
加载中...