Contest 5 1007 MZL's simple problem

来源:互联网 发布:淘宝的海外直购在哪 编辑:程序博客网 时间:2024/06/13 12:22

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5349

因为删除操作每次只删最小的,而查询操作每次只问最大的,所以可以不必保留数据,只记录总数和更新最大数即可。
要注意考虑总数为0,即删除空了时对数据的影响。

当然,有用set做的当然是可以过的。

#include<iostream>#include<cstdio>int main(){    int n,sum,m,op,x;    scanf("%d",&n);    sum=0;m=0;    while(n--)    {        scanf("%d",&op);        if(op==1)        {            scanf("%d",&x);            if(sum==0) m=x;            else if(m<x) m=x;            sum++;        }        if(op==2)        {            if(sum>0) sum--;        }        if(op==3)        {            if(sum==0) printf("0\n");            else printf("%d\n",m);        }    }    return 0;}
0 0