#W1018. CPU 调度
CPU 调度
题目背景
众所周知 2025 CACC 区域赛的工程题非常的 ex,贴心的出题人为大家准备了简单版
题目描述
给定 个任务,每个任务由四个参数组成:任务 ID、到达时间、执行所需时长 以及 优先级。
系统采用单核 CPU 抢占式调度策略,规则如下:
- CPU 总是执行已经到达且优先级最高的任务
- 如果优先级相同,那么优先执行到达时间最早的的任务
- 新任务到达,如果优先级高于当前任务,则发生抢占(当前任务暂停,记录剩余时间)
请计算并输出每个任务完成的时间点。
输入格式
第一行一个正整数 (),代表任务总数。 接下来的 行,每行包含四个整数 ,用空格隔开。
数据范围满足:
- 保证所有任务的 互不相同。
输出格式
输出共 行。每行两个整数,分别为任务的 和它的完成时间,按照任务完成时间的先后顺序升序输出。
样例
3
1 1 5 10
2 2 2 20
3 10 2 5
2 4
1 8
3 12
样例解释
- :任务 1 到达,开始执行。
- :任务 2 到达,优先级 20 > 10,抢占 CPU。任务 1 剩余时长 4。
- :任务 2 完成。CPU 恢复执行任务 1。
- :任务 1 完成。
- :任务 3 到达,开始执行。
- :任务 3 完成。