luogu_1168【题解】

  在洛谷上面一看是绿题,以为不会有这样的思路,结果在洛谷题解上发现了和我思路类似的。

  边读入边输出,每次用upper_bound()存入,保持序列的有序。

  用vector,支持随机访问,下标为(i-1)/2,就是当前奇数的答案,原因是vector从0开始存。

  代码如下。

#include<bits/stdc++.h>
using namespace std;
int n;
vector<int> a;
int main()
{
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        int x;
        scanf("%d",&x);
        a.insert(upper_bound(a.begin(),a.end(),x),x);
        if(i%2==1){
            printf("%d\n",a[(i-1)/2]);
        } 
    }
    return 0;
}

 

上一篇:有兴趣的话把下面的oracle 转换成 MySQL


下一篇:js面向对象的几种方式----工厂模式、构造函数模式、原型模式