求助,有两个测试点超时了,有办法优化解决吗
  • 板块P1160 队列安排
  • 楼主moduoka
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/11/12 23:30
  • 上次更新2024/11/13 05:37:05
查看原帖
求助,有两个测试点超时了,有办法优化解决吗
1509105
moduoka楼主2024/11/12 23:30
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int i,j,k,p,m,n;
    cin>>i;
    vector<int>s;
    vector<int>::iterator it;
    s.push_back(1);
    for(j=2;j<=i;++j)
    {
        cin>>k>>p;
        if(p==0)
        {
            for(it=s.begin();it!=s.end();++it)
            {
                if(*it==k)
                {
                    s.insert(it,j);
                    break;
                }
            }
        }
        else if(p==1)
        {
            for(it=s.begin();it!=s.end();++it)
            {
                if(*it==k)
                {
                    
                    s.insert(it+1,j);
                    break;
                }
            }
        }
    }
    cin>>m;
    for(j=1;j<=m;++j)
    {
        cin>>n;
        for(it=s.begin();it!=s.end();)
        {
            if(*it==n)
            {
                it=s.erase(it);
            }
            else
                ++it;
        }
        
    }
    for(it=s.begin();it!=s.end();++it)
    {
        if(*it>0)
        {
            cout<<*it<<' ';
        }
    }
    return 0;
}
2024/11/12 23:30
加载中...