SP15435 UCV2013G - Schedules

题目描述

歌手 PEPE 发布了一首新歌。他想控制他的歌曲在 RUMBA FM 广播电台播放的次数。PEPE 已聘请两家公司($A$ 和 $B$)来执行这项任务。每天,他们都会给他一份时间表,说明这首歌在收音机里播放的时间。歌曲的播放时间总是相同的秒数,所以结束时间并不重要。我们只对开始时间感兴趣。 第一天,PEPE 收到了这两份时间表。它们几乎一模一样。他验证了 $A$ 的每个条目都与 $B$ 中的一个条目完全对应。他只是拿了一支铅笔,在 $A$ 中标记了一个条目,然后在 $B$ 中标记了相应的条目。只要存在未标记的条目,他就会遵循这种方法。第二天,PEPE 再次收到两份日程表,但他发现两份日程表中的条目数量并不相同。此外,由于人为错误,时间根本不匹配。他说:“天哪!我必须调和两个时间表,找到它们之间最好的匹配。”。他只信任两个日程表中可以匹配的条目。但是如何匹配它们呢?PEPE 首先决定他能够容忍两个匹配条目的错误(差异)秒数。然后他试图找到尽可能多的匹配。对于同样大的机器,他对以秒为单位的最小平均时间差感兴趣。不幸的是,他的新歌在 RUMBA FM 上大受欢迎,有很多热门歌曲,可能需要很长时间。所以,我们需要你的帮助来自动执行这项任务。

输入格式

输入由多个测试用例组成。每个测试用例都以一行开始,该行包含三个整数 $Na,Nb,S$,用单个空格分隔。$Na$ 和 $Nb$ 分别是 $A$ 和 $B$ 中的条目数$(1\le Na$,$Nb\le 200)$,$S$ 是以秒为单位的公差($0\le S\le7200$)。第二行包含 $Na$ 个时间,格式为 `hh:mm:ss`,由单个空格分隔。第三行包含 $Nb$ 个时间戳,格式与前一行相同。值得注意的是,所有开始时间都在同一天内。

输出格式

对于每个测试用例,输出一行,包含一个整数 $K$ 和一个保留一位小数的浮点数 $V$。$K$ 是时间表 $A$ 和时间表 $B$ 之间匹配的最大数量。$V$ 是 $K$ 个匹配项之间平均时间差的秒数。如果没有可能的匹配项,你的程序应该输出 `"No matches"`。