使用快读和STL的vector,80分 测试点#3TLE
查看原帖
使用快读和STL的vector,80分 测试点#3TLE
568243
Windows_Update楼主2022/2/6 08:38

如题
评测记录:co↑co↓
源代码:

#include<bits/stdc++.h>
using namespace std;
vector<int> q;
inline int read(){
	int x=0,w=1;
	char ch=getchar();
	while(ch<'0'||ch>'9'){
		if(ch=='-')w=-1;
		ch=getchar();
	}
	while(ch>='0'&&ch<='9'){
		x=(x<<1)+(x<<3)+(ch^48);
		ch=getchar();
	}
	return x*w;
}
int n,k,p,m,x;
int main(){
	n=read();
	q.push_back(1);
	for(int i=2;i<=n;++i){
		k=read(),p=read();
		auto it=find(q.begin(),q.end(),k);
		switch(p){
			case 0:q.insert(it,i);break;
			case 1:q.insert(++it,i);break;
		}
	}
	m=read();
	while(m--){
		x=read();
		auto it=find(q.begin(),q.end(),x);
		if(it!=q.end())q.erase(it);
	}
	for(int i=0;i<q.size();++i){
		printf("%d",q[i]);
		if(i!=q.size()-1)printf(" ");else printf("\n");
	}
}
2022/2/6 08:38
加载中...