#7020. L2_1 任务调度

L2_1 任务调度

背景描述

在智能城市路网中,自动驾驶车辆需通过全局调度系统完成交通请求的协同处理。调度系统通过车路协同技术收集车辆任务需求(如路径规划、紧急避障等),并基于优先级规则将任务打包成"任务链"执行。任务链需满足以下规则:

  • 优先级非递增:后加入任务的优先级 ≤ 前一个任务
  • 容量限制:单个任务链最多包含K个任务
  • 缓存机制:使用容量为M的缓存栈暂存无法立即调度的任务

具体调度规则如下:

  • 任务获取顺序:

    • 优先从缓存栈顶取任务,若符合当前链优先级规则则加入

    • 若栈顶任务不满足,从推送队列头部取任务

    • 若推送队列任务仍不满足,将该任务压入缓存栈(栈满则终止当前链)

  • 终止条件:
    • 缓存栈满且推送队列任务不满足要求
    • 缓存栈顶任务不满足且推送队列已空
    • 当前链任务数达到K

输入格式

第一行三个整数 NN(任务总数),MM(缓存栈容量),KK(任务链容量)

第二行N个整数AiA_i,表示推送队列中的任务优先级

输出格式

每行输出一个任务链的优先级序列,按执行顺序排列

8 3 4
20 25 15 18 20 18 8 5
20 15
20 18 18 8
25 5

数据范围

  • 1N1061\leq N \leq 10^6
  • 1M1031\leq M \leq 10^3
  • 1K1031 \leq K \leq 10^3
  • 1Ai1091\leq A_i \leq 10^9