多多制定了一个庞大的旅行计划。具体而言,多多准备去N个景点游玩。它还为每个景点设定了优先级,必须先前往优先级高的景点游玩,然后才能前往优先级低的景点,各个景点优先级互不相同。
同时由于各大景点都十分火爆,多多只能在已预约的第Xi天前往景点i,如果无法按约前往,则只能等过Di天再次前往。即,多多只能在第Xi、Xi+Di、Xi+2Di、...天前去景点i。
由于必须按照优先级访问,所以我们可以按照优先级排序,然后按时间顺序模拟。 假如现在在时间now , 该任务下一个可以访问的时间是time+k∗gap , 需要满足 now+gap∗k>time 所以我们可以求出k=gap(now−time+gap−1) .这是计算机中得到向上取整的方法。而由于k可能为负数,所以我们需要取max(0,k)
最后now=time+gap∗k,迭代完所有景点即可。