CF516E.Drazil and His Happy Friends

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Drazil 有许多朋友,他们中有些是开心的,有些是不开心的。Drazil 想让所有朋友都变得开心,于是他发明了如下计划。

在他的朋友中有 nn 个男孩和 mm 个女孩。我们分别将男孩编号为 00 到 n−1n-1,女孩编号为 00 到 m−1m-1。在第 ii 天,Drazil 会邀请第 i mod ni \bmod n 个男孩和第 i mod mi \bmod m 个女孩一起吃饭(作为一名程序员,ii 从 00 开始)。如果这两人中有一人是开心的,另一人也会变得开心。否则,这两人状态不变。一旦某人变得开心(或一开始就是开心的),他将永远保持开心。

Drazil 想知道第几天他所有的朋友都会变得开心,或者判断是否永远不会全部都开心。

输入格式

第一行包含两个整数 nn 和 mm(1≤n,m≤1091\leq n,m\leq 10^{9})。

第二行包含一个整数 bb(0≤b≤min⁡(n,105)0\leq b\leq \min(n,10^{5})),表示一开始开心的男孩人数,接下来有 bb 个不同的整数 x1,x2,⋯ ,xbx_{1},x_{2},\cdots ,x_{b}(0≤xi<n0\leq x_{i} < n),表示开心男孩的编号列表。

第三行包含一个整数 gg(0≤g≤min⁡(m,105)0\leq g\leq \min(m,10^{5})),表示一开始开心的女孩人数,接下来有 gg 个不同的整数 y1,y2,⋯ ,ygy_{1},y_{2},\cdots,y_{g}(0≤yj<m0\leq y_{j} < m),表示开心女孩的编号列表。

保证至少有一位朋友在初始状态下是不开心的。

输出格式

输出第一个所有朋友都变得开心的天数。如果永远不会全部都开心,输出 −1-1。

输入输出样例

  • 输入#1

    2 3
    0
    1 0
    

    输出#1

    4
    
  • 输入#2

    2 4
    1 0
    1 2
    

    输出#2

    -1
    
  • 输入#3

    2 3
    1 0
    1 1
    

    输出#3

    2
    
  • 输入#4

    99999 100000
    2 514 415
    2 50216 61205
    

    输出#4

    4970100515
    

说明/提示

定义 a mod ka \bmod k 表示整数 aa 除以 kk 的余数。

在第一个样例中:

  • 第 00 天,Drazil 邀请第 00 个男孩和第 00 个女孩。因为第 00 个女孩一开始就是开心的,所以第 00 个男孩这一天也变得开心。
  • 第 11 天,Drazil 邀请第 11 个男孩和第 11 个女孩。他们都不开心,所以这一天没有变化。
  • 第 22 天,Drazil 邀请第 00 个男孩和第 22 个女孩。因为第 00 个男孩已经开心了,所以他让第 22 个女孩这一天变得开心。
  • 第 33 天,Drazil 邀请第 11 个男孩和第 00 个女孩。第 00 个女孩开心,所以她让第 11 个男孩变得开心。
  • 第 44 天,Drazil 邀请第 00 个男孩和第 11 个女孩。第 00 个男孩开心,所以他让第 11 个女孩开心。此时,所有朋友都变得开心。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页