#include<bits/stdc++.h>
using namespace std;
int a[100005];
vector<int>v;
int main(){
ios::sync_with_stdio(0);
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
v.push_back(a[0]);
for(int i=1;i<n;i++){
int l=0,r=i-1;
while(l<=r){
int mid=l+r>>1;
if(v[mid]<=a[i])l=mid+1;
else r=mid-1;
}
v.insert(v.begin()+l,a[i]);
}
for(int i=0;i<n;i++){
cout<<v[i]<<" ";
}
return 0;
}
我用这个貌似 O(nlogn) 实则 O(n2) 的代码 AC 了...