求救!蒻蒟vector做法第三个点TLE
查看原帖
求救!蒻蒟vector做法第三个点TLE
804521
landroe404楼主2022/12/8 20:07

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;
}
2022/12/8 20:07
加载中...