我写了个vector容器,RE了,代码如下:
#include<bits/stdc++.h>
using namespace std;
vector< vector<int> >q;
vector<int>v;
int n,p=0,np=0;
int a[10005],na[10005];
int head[10005]={},tail[10005]={};
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);cout.tie(nullptr);
cin>>n;
if(n==0)return 0;
cin>>a[0];
v.push_back(a[0]);
for(int i=1;i<n;i++){
cin>>a[i];
if(a[i]<a[i-1]){
p++;
q.push_back(v);
}
tail[p]++;
v.push_back(a[i]);
}
int num=n;
while(num--){
int mn;
for(int i=0;i<=p;i++){
if(head[i]>tail[i])continue;
if(q[i][head[i]]<q[mn][head[mn]])mn=i;
}
cout<<q[mn][head[mn]];
na[np++]=q[mn][head[mn]];
head[mn]++;
}
}