求助怎么压时间
  • 板块P1801 黑匣子
  • 楼主ZMTZHT519
  • 当前回复7
  • 已保存回复7
  • 发布时间2025/1/20 13:46
  • 上次更新2025/2/7 16:21:04
查看原帖
求助怎么压时间
1106619
ZMTZHT519楼主2025/1/20 13:46
#include<bits/stdc++.h>
using namespace std;
long long n,m,a[500005],b[500005],s=0;
priority_queue<int, vector<int>, greater <int> > q;
int main(){
   	cin>>n>>m;
   	for(int i=1;i<=n;i++){
   		cin>>a[i];
	}
	for(int i=1;i<=m;i++){
		cin>>b[i];
	}
	for(int i=1;i<=n;i++){
		q.push(a[i]);
		for(int j=1;j<=m;j++){
			if(b[j]==i){
				s++;
				int k=0,o[100005];
				for(int w=1;w<s;w++){
					k++;
					o[k]=q.top();
					q.pop();
				}
				cout<<q.top()<<endl;
				for(int w=k;w>=1;w--){
					q.push(o[w]);
				}
			}
		}
	}
    return 0;
}
2025/1/20 13:46
加载中...