#P14765. [ICPC 2024 Seoul R] Bottles
[ICPC 2024 Seoul R] Bottles
Description
在著名的 ICPC 竞赛中,将有 名选手参加。赛道全长 公里,出于安全考虑,它被划分为 个路段。每个路段长一公里,路段 () 是区间 ,即距离起点 公里到 公里之间的路段。我们将忽略选手距离起点恰好为整数公里的情况。由于天气非常炎热,主办方希望提供充足的饮用水。他们将在每个路段维持一定数量的水瓶。当选手拿走一个水瓶时,他们会立即补充一个。他们发现,通过计算比赛中每个路段内同时存在的选手数量的最大值,可以确定该路段最优的水瓶数量。根据每位选手过往的记录,他们预估了每位选手在每个路段将花费的时间(以秒为单位)。
考虑以下例子。有三名选手,赛道长度为六公里。下表显示了选手在每个路段将花费的时间(单位:秒)。
| 选手 | 路段 1 | 路段 2 | 路段 3 | 路段 4 | 路段 5 | 路段 6 |
|---|---|---|---|---|---|---|
| 1 | 350 秒 | 360 秒 | 370 秒 | 380 秒 | 390 秒 | 400 秒 |
| 2 | 240 秒 | |||||
| 3 | 480 秒 | 520 秒 | 600 秒 | |||
现在我们来检查比赛期间每个路段内的选手数量。为了方便,下表并不完整。当你填满整个表格并计算每个路段的最大选手数时,你会发现需要在路段 1 放置 3 瓶水,路段 2 和路段 3 放置 2 瓶,路段 4、5、6 各放置 1 瓶。注意,在 秒时,选手 2 离开路段 2 而选手 3 到达路段 2,这两者都会被忽略,因为他们距离起点的位置恰好是整数公里。在 秒时,没有选手在路段 1 和路段 3,而选手 1 在路段 2。那么,例如,在 秒时,选手 1 和选手 3 将同时在路段 2。
| 经过时间 | 路段 1 | 路段 2 | 路段 3 | 路段 4 | 路段 5 | 路段 6 |
|---|---|---|---|---|---|---|
| (0 秒, 240 秒) | 3 | 0 | 0 | 0 | ||
| (240 秒, 350 秒) | 2 | 1 | ||||
| (350 秒, 480 秒) | 1 | 2 | ||||
| (480 秒, 710 秒) | 0 | 1 | ||||
| (710 秒, 720 秒) | 1 | 2 | ||||
| ... | ||||||
给定选手数量、赛道长度以及每位选手在每个路段将花费的时间,请编写一个程序,计算每个路段需要放置的水瓶数量。
Input Format
你的程序需要从标准输入读取数据。输入的第一行包含两个整数 和 (, ),其中 是选手数量, 是赛道长度。接下来的 行中,第 行包含 个正整数,表示选手 在每个路段将花费的时间。更具体地说,该行的第 个数是选手 在路段 将花费的时间。任何选手在任何路段花费的时间都不会超过 秒。
Output Format
你的程序需要向标准输出写入结果。输出恰好一行。该行应包含从路段 1 到路段 每个路段需要放置的水瓶数量。
3 6
350 360 370 380 390 400
240 240 240 240 240 240
480 480 520 600 600 600
3 2 2 1 1 1
4 5
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
4 4 4 4 4
3 5
1 1 1 1 1
5 5 5 5 5
25 25 25 25 25
3 1 1 1 1
京公网安备 11011102002149号