FC模拟-L2-041 插松枝
作者:
小花猪
,
2023-04-16 16:10:31
,
所有人可见
,
阅读 258
L2-041 插松枝
#include <iostream>
#include <deque>
#include <cstring>
using namespace std;
deque<int> qu, st;
int n, m, k, ans[1005], idx;
int main(){
cin>>n>>m>>k;
while(n --){
int t;
cin>>t;
qu.push_back(t);
}
while(!st.empty() || !qu.empty()){
int cnt = 0, last = 1000;
while(cnt < k){
if(!st.empty() && st.front()<=last){
last = st.front();
ans[idx++] = last;
st.pop_front();
cnt ++;
}else if(!qu.empty() && last >= qu.front()){
last = qu.front();
ans[idx++] = last;
qu.pop_front();
cnt ++;
}else if(!qu.empty() && st.size() < m){
st.push_front(qu.front());
qu.pop_front();
}else break;
}
for(int i=0; i<idx; i++){
if(i != idx-1) cout<<ans[i]<<" ";
else cout<<ans[i];
}
memset(ans, 0, sizeof ans);
idx = 0;
cout<<endl;
}
return 0;
}