O2优化之前后三个点TLE,优化之后第三个点TLE
请教各位大佬怎么改?或者还是老老实实用链表?
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
vector<int> list;
list.push_back(1);
int n;
cin>>n;
for(int i=2;i<=n;i++)
{
int k=0,p=0;
cin>>k>>p;
vector<int>::iterator it=find(list.begin(),list.end(),k);
if(p == 0) list.insert(it,i);
else list.insert(++it,i);
}
int m;
cin>>m;
for(int i=1;i<=m;i++)
{
int x;
cin>>x;
vector<int>::iterator it=find(list.begin(),list.end(),x);
if(it != list.end())
{
list.erase(it);
}
}
for(vector<int>::iterator it=list.begin();it != list.end();it++)
{
cout<< *it <<" ";
}
return 0;
}