题目写得很长,结合样例一起会比较快理解题意。
本质就是阅读理解+模拟
#include<iostream> //l2-1
#include<algorithm>
#include<vector>
#include<stack>
#include<deque>
using namespace std;
stack<int> hz;
deque<int> ts;
vector<vector<int>> ans;
vector<int> cp;
void insert(){
ans.push_back(cp);
cp.clear();
}
int main(){
int n,m,k;
cin>>n>>m>>k;
for(int i = 0; i < n; i++){
int x; cin>>x; ts.push_back(x);
}
while(hz.size() || ts.size()){
int x = 0x3f3f3f3f;
if(cp.size()) x = cp.back();
if(hz.size() && hz.top() <= x){ //优先拿盒子的松针
cp.push_back(hz.top()); hz.pop();
if(cp.size() == k) insert();
} else if(ts.size() && ts.front() &