HDU 5349 乱搞

点击打开链接

题意:三个操作,1是加入一个数,2是将最小的数删除,3是将最大的数输出,若没有元素输出0

思路:乱搞就行了

#include <queue>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <iostream>
#include <algorithm>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int inf=0x3f3f3f3f;
const ll INF=0x3f3f3f3f3f3f3f3fll;
int main(){
    int n,a,op;
    while(scanf("%d",&n)!=-1){
        int max1=-inf,sum=0;
        for(int i=0;i<n;i++){
            scanf("%d",&op);
            if(op==1){
                scanf("%d",&a);sum++;
                max1=max(max1,a);
            }else if(op==2){
                if(sum!=0) sum--;
                if(sum==0) max1=-inf;
            }else{
                if(sum==0) printf("0\n"),max1=-inf;
                else printf("%d\n",max1);
            }
        }
    }
    return 0;
}

你可能感兴趣的:(HDU 5349 乱搞)