#include<bits/stdc++.h>
using namespace std;
vector<vector<int>> ans;
vector<int> input, tmp;
int last = -1;
bool cmp(int a, int b){
if(a > last && b > last || a < last && b < last){
return a > b;
}else if(a > last && b < last){
return false;
}else if(a < last && b > last){
return true;
}
}
void initial(){
vector<int> v;
ans.push_back(v);
}
int main(){
int n, m;
scanf("%d %d", &n, &m);
input.resize(n);
for(int i = 0; i < n; i++){
scanf("%d", &input[i]);
if(i < m){
tmp.push_back(input[i]);
}
}
make_heap(tmp.begin(), tmp.end(), cmp);
vector<int> v;
for(int i = m; i < n+m; i++){
int cnt = tmp[0];
if(cnt >= last){
pop_heap(tmp.begin(), tmp.end(), cmp);
tmp.pop_back();
v.push_back(cnt);
last = cnt;
if(i < n){
tmp.push_back(input[i]);
push_heap(tmp.begin(), tmp.end(), cmp);
}
}else{
ans.push_back(v);
v.clear();
last = -1;
i--;
}
}
ans.push_back(v);
for(int i = 0; i < ans.size(); i++){
for(int j = 0; j < ans[i].size(); j++){
if(j != 0) printf(" ");
printf("%d", ans[i][j]);
}
printf("\n");
}
return 0;
}
只测试过了样例 考试时由于被第二题坑了一个半小时 仓促之余只能写了set 很明显超时了 这次写的代码只测试过了样例 如果哪位大佬买了模拟考试 可以帮我测试一下 谢谢