[绍兴比赛2011]懒羊羊吃草(lyycc)

题目描述
#include<bits/stdc++.h>
using namespace std;
priority_queue < int , vector < int > , greater < int > > q;  
int ans,a[1000005],n,x,i,j,k;
int main()
{   char ch;
    cin>>n; 
    for(int i=0;i<n;i++){
    	 cin>>ch;
    	 if(ch=='i') {   cin>>x;    
    	 	             q.push(x);
		             }
		 if(ch=='q') {
		 	           a[j++]=q.top();  
		 	           q.pop();   
		             }
	}
 for(int i=0;i<j;i++)
  cout<<a[i]<<endl;
	return 0;
	
}

众所周知,懒羊羊是所有小羊里最贪吃的一只。然而,鲜为人知的是,懒羊羊也有存储粮食的习惯。而更让大家吃惊的事实是,我们的懒羊羊做事很有条理,每当他存储一份粮食时,他会专门拿出一个筐来存放。因此,他的仓库里有很多很多筐的青草。而我们的懒羊羊又是一个经常馋嘴的小羊,每当他想吃草时,就会从仓库里找出数量最少的一筐草,把它吃掉。可是懒羊羊因为草吃得太多了导致大脑运转缓慢,所以他不得不向你请求支援,帮他找出他应该吃数量为多少的青草。

输入

第一行为一个正整数n,表示懒羊羊一共进行了n次操作(2<=n<=10000)。第二行至第n+1行每行表示一个懒羊羊的操作,当这行形式为单独一个字符‘q’ 时,表示懒羊羊肚子饿了,要吃掉仓库里当前数量最少的那份青草;当这行形式为一个字符‘i’和一个整数k时,表示懒羊羊将一份数量为k(1<=k<=maxlongint)的青草存入了仓库,‘i’和k之间用空格隔开。 输入数据保证每次询问时仓库里都有草可吃且所有操作中懒羊羊至少会吃一次草。

输出

每当输入为‘q’ 时,输出懒羊羊当前吃掉的那份青草的数量是多少。

样例输入 复制
5
i 5
i 2
q
i 9
q
样例输出 复制
2
5
提示

样例解释:

共有5次操作,分别为懒羊羊存入数量为5的青草,存入数量为2的青草,吃掉当前数量最少的青草(2),存入数量为9的青草,吃掉当前数量最少的青草(5)。 

返回比赛提交提交记录露一手!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值