2020年7月 PAT甲级真题 Replacement Selection

题目

题意:外排的选择替换算法模拟

tips:模拟+优先队列

注:非满分版本,当时考试被陈姥姥卡在最后一个测试点超时了

#include
#include
#include
#include
using namespace std;
int main() {
	int n,k;
	cin>>n>>k;
	vector ans(n);
	for(int i=0; itemp;
		priority_queue,greater> q;
		vector ans1;
		int la=0;
		int count=0,minnum;
		for(int i=0; i=la) {
				q.push(ans[i]);
				count++;
				if(count==k) {
					count--;
					minnum=q.top();
					q.pop();
					ans1.push_back(minnum);
					la=minnum;
				}

			} else temp.push_back(ans[i]);
		}
		while(!q.empty()) {
			ans1.push_back(q.top());
			q.pop();
		}
		if(ans1.size())
			printf("%d",ans1[0]);
		for(int j=1; j

 

你可能感兴趣的:(练习)