0
点赞
收藏
分享

微信扫一扫

洛谷P1168 中位数

花海书香 2022-02-15 阅读 56

原题链接
看标签是线段树,树状数组,之前学的线段树,树状数组啥的都差不多忘记了,以为这会是一样持久战,没想到看题解时看见了一个神仙题解。利用动态数组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;
}
举报

相关推荐

洛谷p1135

洛谷p1551

洛谷P1309

洛谷 P1307

P1217(洛谷)

洛谷p1443

洛谷P1090

洛谷P2084

洛谷 P1001

0 条评论