代码如下:
#include <bits/stdc++.h>
using namespace std;
int m,n,p,temp,a[500000+10];
priority_queue < int,vector<int>,greater<int> > A;
priority_queue < int,vector<int>,less<int> > B;
int main()
{
ios::sync_with_stdio(false);
cin>>m>>n;
for(int i=0;i<m;i++)
{
cin>>a[i];
}
for(int i=0;i<n;i++)
{
cin>>temp;
while(B.size()+A.size() < temp)
{
if(a[p] >= A.top()) B.push(a[p]);
else
{
B.push(A.top());
A.pop();
A.push(a[p]);
}
p++;
}
cout<<B.top();
A.push(B.top());
B.pop();
}
return 0;
}