求数据或hack
  • 板块P1750 出栈序列
  • 楼主02Ljh
  • 当前回复0
  • 已保存回复0
  • 发布时间2022/7/29 13:59
  • 上次更新2023/10/27 17:52:24
查看原帖
求数据或hack
578004
02Ljh楼主2022/7/29 13:59

提交全WA 样例过了 求调code或给hack

#include<bits/stdc++.h>
using namespace std;
#define INF 0x3f3f3f3f
vector <int> q;
int num[1000001];
void pr()
{
    cout<<"your stack size is "<<q.size()<<endl<<"element:";
    for(int i=0;i<q.size();i++)
    {
        cout<<q[i]<<" ";
    }
    cout<<endl;
    return ;
}
int main()
{
	int n,c;
	cin>>n>>c;
	int minn=INF,mins=0,f_num=0;
	for(int i=0;i<n;i++)
    {
        int a;
        cin>>a;
        q.push_back(a);
    }
	for(int i=0;i<c;i++)
    {
        int a=q[i];
        if(minn>a)
        {
            mins=i;
            minn=a;
        }
    }
    f_num=c-2;
    cout<<minn;
    q.erase(q.begin()+mins);
    int ms,pos=mins;
    while(q.size()>1)
    {
        //pr();
        bool flag=true;
        int f=q[pos-1];
        ms=pos-1;
        //cout<<"\nf="<<f<<" ms="<<ms<<" f_num="<<f_num<<"\n("<<pos<<"----"<<c-f_num<<")"<<endl;
        for(int i=pos;i<=(c-f_num);i++)
        {
            if(f>q[i])
            {
                f=q[i];
                ms=i;
                flag=false;
            }
        }
        //cout<<"\nf="<<f<<" ms="<<ms<<" pos="<<pos<<endl;
        cout<<" "<<f;
        if(q.size()>ms) q.erase(q.begin()+ms);
        else break;
        if(flag) { f_num--; }
        else
        {
            pos=ms;
            f_num=ms;
        }
    }
    while(!q.empty())
    {
        cout<<" "<<q.front();
        q.erase(q.begin());
    }
	return 0;
}

2022/7/29 13:59
加载中...