在一次数据结构课中,你的作业被选为优秀大作业,获得了上台展示的机会。在上台展示开始之前的一个小时,助教David偷偷告诉你,这节课的代课老师Yang教授安排的上台展示内容竟然是在OJ上现场评测你的代码!更可怕的是,你发现这个评测的要求竟然比你写的作业更高。你感到无比恐慌,并要尽快调整你的代码从而通过上台展示,让Yang教授给你这门课的满分。
有 个城市与 个单向火车车次,第 趟火车会于发车时间 从起点站 出发,在到达时间 到达终点站 ,中间不停车,票价是 。要乘坐这列火车,你必须在 时刻或 时刻之前到达这个车站 ,然后你就会在 时刻出现在 车站。由于你是专业卡 deadline 选手,上下车、转车的时间均可以忽略不计,也就是若你在 时刻刚刚从某站下车,你仍然可以赶上在这一站 时刻出发的列车。
现在是 时刻,你正处于 车站,你想知道到达各个其他车站的最优方案是什么(你可以转车、在某个车站等待等),可是你需要考虑很多因素:
- 票价 ,即方案中乘坐的所有火车的票价之和。
- 乘车次数 ,即一共要乘坐几次火车。
- 旅途总用时 ,即到达目的地的时刻减去当前的 时刻的值。
你想要综合考虑这些因素,因此你选取了三个非负整数 ,定义方案的“代价”为 。你想知道对每个城市,到达这个城市的方案“代价”的最小值是多少。如果无法到达某个城市,请在相应位置输出 。