原题链接
看标签是线段树,树状数组,之前学的线段树,树状数组啥的都差不多忘记了,以为这会是一样持久战,没想到看题解时看见了一个神仙题解。利用动态数组vector和upper_bound函数居然过了
我第一次知道insert加上upper_bound居然可以排序。这样居然就省去了我们最耗时的排序问题
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll INF=0x7fffffff;
const int N = 1e6+5;
const int mod=100003;
int main()
{
ios::sync_with_stdio(false);
vector<int> v;
int n,x;
cin>>n;
for(int i=1;i<=n;i++){
cin>>x;
v.insert(upper_bound(v.begin(),v.end(),x),x);
if(i%2==1)
cout<<v[(i-1)/2]<<endl;
}
return 0;
}