luogu#P9914. 「RiOI-03」匀速相遇

    ID: 13881 远端评测题 1500ms 512MiB 尝试: 0 已通过: 0 难度: 3 上传者: 标签>洛谷原创O2优化哈希, hash洛谷月赛双指针,two-pointer

「RiOI-03」匀速相遇

题目背景

当大家都在加速时,我与你,在人生中的十字路口,匀速地相遇了。

确是惊动我心的一瞥,却是无法逗留的遗憾,我们再次,朝着自己的方向匀速奔跑。下次再见,又会是什么时候呢……

题目描述

平面直角坐标系上有 n+mn + m 个点,其中:

  • nnA\rm A 类点,它们在初始时依次位于位置 (1,0),(2,0),(3,0),,(n,0)(1, 0), (2, 0), (3, 0), \dots, (n, 0)
  • mmB\rm B 类点,它们在初始时依次位于位置 (0,1),(0,2),(0,3),,(0,m)(0, 1), (0, 2), (0, 3), \dots, (0, m)

在某一个时刻,A,B\rm A, B 类点同时开始运动。具体地:

  • 对于第 iiA\rm A 类点,其以 aia_i 个单位长度每秒的速度向上(即 yy 轴正方向)匀速运动。特别地,若 ai=0a_i = 0,则该点始终保持静止。
  • 对于第 iiB\rm B 类点,其以 bib_i 个单位长度每秒的速度向右(即 xx 轴正方向)匀速运动。特别地,若 bi=0b_i = 0,则该点始终保持静止。

相遇与分离实在是再平凡不过的了。作为匆匆时光里的一名过客,在这个你暂留的驿站里,你能否帮小 T 解决这个简单的问题:求出有多少点对会在某个时刻相遇,即它们在某一刻共点。

由于你无法使时间静止,所以所有点无论相遇与否,都会永无止境地运动下去。祝愿在这道路上奔跑的你,能有一天与理想匀速相遇,永不停息。

输入格式

第一行两个正整数 n,mn, m

第二行 nn 个整数 a1ana_1\dots a_n,依次表示第 1n1\dots nA\rm A 类点的运动速度。

第三行 mm 个整数 b1bmb_1\dots b_m,依次表示第 1m1\dots mB\rm B 类点的运动速度。

输出格式

一行一个整数,表示有多少点对会在某个时刻相遇。

3 3
1 2 3
3 2 1
1
3 3
2 5 1
83 101 98
0

提示

样例解释 1

t=1t = 1 时,第 22A\rm A 类点和第 22B\rm B 类点同时到达点 (2,2)(2, 2)。这也是在本组样例中的唯一一次相遇,故输出 11

数据规模与约定

本题开启捆绑测试。

  • Subtask 0(10 pts):n10n \leq 10m10m \leq 10
  • Subtask 1(20 pts):n5×103n \leq 5\times 10^3m5×103m \leq 5\times 10^3
  • Subtask 2(30 pts):保证 ai1\forall a_i \geq 1bi1\forall b_i \geq 1
  • Subtask 3(40 pts):无特殊限制。

对于所有数据,1n,m1061 \leq n, m \leq 10^60ai,bi1090 \leq a_i, b_i \leq 10^9