WA#8
查看原帖
WA#8
863501
404744496xh楼主2023/7/9 15:20
#include<iostream>
#include<queue>
using namespace std;
const int Max=2e5+5;
int n,m;
priority_queue<int,vector<int>,less<int> > u;
priority_queue<int,vector<int>,greater<int> > v;
int a[Max];
int main(){
    scanf("%d%d",&m,&n);
    int e;
    for(int j=1;j<=m;j++){
        scanf("%d",a+j);
    }
    int j=1;
    for(int i=1;i<=n;i++){
        scanf("%d",&e);
        for(;j<=e;j++){
            u.push(a[j]);
              if(u.size()>i){
                v.push(u.top());
                u.pop();
            }
        }
        cout<<u.top()<<endl;
        if(v.size()>1){
            u.push(v.top());
             v.pop();
        }
        
    }
    return 0;
}
2023/7/9 15:20
加载中...