#P1193. 走,做核酸去!

    ID: 194 远端评测题 1000ms 128MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>湖南省第十八届大学生计算机程序设计竞赛(HNCPC2022)

走,做核酸去!

Description

最近每天都要做核酸,市区有许多免费核酸点,有的人很多排队很久,有的就比较空闲但又有点远,小明想知道最快做完核酸的方法,于是收集数据建立了一个模型.

每个核酸点有一个开始时间和一个结束时间,以及一个拟合函数f(x,y),表示如果在该核酸点开始时间起的第xx ≥ 0)分钟开始排队,且核酸点开设总时长为 y 分钟,则需要花费f(x,y)分钟做完核酸. 核酸点开设的起始时刻视为第0分钟,即x = 0,开始之前不能排队,时间都按整数分钟计算. 如果预计做完核酸的时刻大于核酸点结束时刻,则在这里做不到核酸.

这样会不会到得晚反而做完的早?这是个玄学问题,因为有时候会突然多开一个队伍,而小明不敢轻易换队伍,怕随时可能又来一大批人.
但小明可以在到达核酸点之后先不排队,看准时机再上.

已知所有核酸点相关信息,小明想知道最早什么时刻能够做完核酸.

Input

100组测试数据,每组数据第一行为整数 n,表示有 n 个核酸点.

接下来 n 行每行顺序给出第 i 个核酸点的相关信息:

  • 起始时刻: hsi : msi
  • 结束时刻: hei : mei
  • 小明能够到达的最早时刻: hbi : mbi
  • 花费时间的参数个数: mi
  • mi 个参数:ai0, ai1, ⋯, aimi − 1
  • 所有输入数据均为整数

其中参数描述该函数 f(x,y) = ⌊|y×sin(ai0+ai1x+ai2x2+⋯+aimi − 1xmi − 1)|⌋(“⌊||⌋”表示取绝对值后向下取整), sin() 使用弧度.

  • 1 ≤ n ≤ 100
  • 1 ≤ mi ≤ 6
  •  − 6 ≤ ai0, ai1, ⋯, aimi − 1 ≤ 6

时间都为24小时制且只精确到分钟,数据保证各核酸点的起止时间在同一天,即 00:00 ~ 23:59,且开始时间早于结束时间.

Output

最早做完核酸的24小时制时刻hf : mf,时与分都为带前导0的二位数,精确到分.

如果小明这一天做不到核酸,输出 “Oh No!”(如果能在某个核酸点结束时刻做完核酸,视为做到了核酸).

2
09:00 12:00 11:00 2 1 1
08:30 13:00 10:50 3 1 0 1
1
09:00 15:05 14:40 3 1 5 3
1
15:00 17:00 16:50 4 5 5 4 3
11:20
15:05
Oh No!

Hint

对于第一组样例,小明虽然能够在11:00到达第一个核酸点,但选择在11:11开始排队,这时x=131f(x) = ⌊|180×sin(1+131)|⌋ = 9,即小明能够在核酸点开始后的第 131+9=140分钟完成检测,即11:20.