AcWing 106. 动态中位数(插入排序)
原题链接
中等
作者:
Value
,
2020-09-12 20:39:28
,
所有人可见
,
阅读 542
#include <iostream>
#include <vector>
#include <cstring>
using namespace std;
const int N = 1E4 + 10;
int a[N];
int main(){
int T; cin >> T;
while(T -- ){
int id, n; cin >> id >> n;
// memset(a, 0, sizeof a);
vector<int> res;
for(int i = 0; i < n; i ++ ){
int tmp; cin >> tmp;
// 插入排序
int j = i - 1;
while(j >= 0 && a[j] > tmp){
a[j + 1] = a[j];
j -- ;
}
a[j + 1] = tmp;
if(!(i % 2)) res.push_back(a[i >> 1]);
}
cout << id << ' ' << res.size() << endl;
int cnt = 0;
for(int i = 0; i < res.size(); i ++ ){
cout << res[i] << ' ';
cnt ++ ;
if(cnt % 10 == 0 || i == res.size() - 1) cout << endl;
}
}
return 0;
}
xd,你这个超时啦