您的位置:首页 > 其它

ZOJ 1319 Black Box

2015-02-02 20:37 691 查看
/*优先队列*/
#include<iostream>
#include<queue>
#include<algorithm>
using namespace std;
int main()
{
int caseN=0;
cin>>caseN;
while(caseN--)
{
int i=0,j=1,N=0,M=0;
cin>>N>>M;
int *a=new int[N+1];
int *u=new int[M+1];
for(i=1;i<=N;i++)
cin>>a[i];
for(i=1;i<=M;i++)
cin>>u[i];
priority_queue<int> big;
priority_queue<int ,vector<int> , greater<int> > small;
for(i=1;i<=N;i++)
{
if(!big.empty()&&a[i]<big.top())
{
small.push(big.top());
big.pop();
big.push(a[i]);
}
else
small.push(a[i]);
while(j<=M&&i==u[j])
{
j++;
cout<<small.top()<<endl;
big.push(small.top());
small.pop();
}
}
if(caseN) cout<<endl;
delete [] a;
delete [] u;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: