QOJ.ac

QOJ

実行時間制限: 1.0 s メモリ制限: 256 MB 満点: 100 ハック可能 ✓

#12833. 调度

統計

Byteasar 正在庆祝他的十三岁生日。他收到的礼物之一是一台全新的电脑!他迫不及待地拆开礼物,开始阅读电脑说明书。结果发现这台电脑拥有 $m$ 个处理器。Byteasar 非常高兴——他终于可以并行执行许多任务了!

他迅速准备了一份包含 $n$ 个任务(编号从 $1$ 到 $n$)的列表,计划在他的新电脑上执行。一个处理器在同一时刻最多只能执行一个任务。任务 $i$ 需要 $c_i$ 秒才能完成,并且禁止在礼物拆开后 $p_i$ 秒之前开始执行,也禁止在礼物拆开后 $k_i$ 秒之后完成。每个任务的执行过程可以被任意次数地中断,也可以在不同的处理器之间移动。但是,一个任务不能同时在两个或多个处理器上执行。在处理器之间移动任务所需的时间可以忽略不计。是否可以安排这些任务的执行,使得每个任务都能在各自的时间范围内执行并完成?换句话说,是否存在一种启动、中断和在处理器间移动任务的策略,能够让 Byteasar 实现他的目标?

输入格式

输入的第一行包含两个整数 $n$ 和 $m$ ($1 \le n, m \le 100$),分别表示任务的数量和处理器的数量。接下来的 $n$ 行描述了 Byteasar 的任务。第 $i$ 行包含任务 $i$ 的描述:三个整数 $p_i, k_i$ 和 $c_i$ ($0 \le p_i < k_i \le 10^6; 1 \le c_i \le k_i - p_i$),分别表示允许执行第 $i$ 个任务的时间区间的开始时间和结束时间(以礼物拆开后的秒数表示),以及完成该任务所需的时间。

输出格式

如果可以在各自的时间范围内完成所有任务,输出 YES。否则,输出 NO。

样例

样例输入 1

3 2
3 8 3
2 5 2
3 7 3

样例输出 1

YES

样例输入 2

2 1
0 1 1
0 1 1

样例输出 2

NO

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.