[Algo Beat Contest 001 D] Dreamed Sequence

[Algo Beat Contest 001 D] Dreamed Sequence

题目背景

Problem Score Idea Std Data Check Solution
\(\text{D - Dreamed Sequence}\) \(425\) orchardist orchardist joe_zxq fcy20180201 Link by joe_zxq

题目描述

给定长度为 \(N\) 的序列 \(A\) 和 \(B\)。

定义 \(A\) 和 \(B\) 两序列相乘 \(A\times B\) 的规则如下,其中模数 \(M=10^9+7\):

  • 设 \(A\) 序列为 \(\{A_1,A_2,\dots,A_N\}\),\(B\) 序列为 \(\{B_1,B_2,\dots,B_N\}\),则相乘得到的序列为 \(\{A_1B_1 \bmod M,A_2B_2 \bmod M,\dots,A_NB_N \bmod M\}\)。

数学家小 G 梦想着让 \(A\times B\) 得到的序列中出现次数最多的数出现的次数尽可能大。为了实现这一点,小 G 可以将 \(B\) 数组任意重排列。小 G 想知道,出现次数最多的数最多出现多少次。

请你帮小 G 找到他梦想中的序列。如果小 G 获得了诺贝尔数学奖,他将会与你分享奖金。

输入格式

第一行包含一个整数 \(N\)。

第二行包含 \(N\) 个整数,表示 \(A\) 序列。

第三行包含 \(N\) 个整数,表示 \(B\) 序列。

输出格式

一个整数,表示答案。

输入输出样例 #1

输入 #1

5
1 2 3 4 5
2 4 6 8 5

输出 #1

3

输入输出样例 #2

输入 #2

10
1 12 38 48 10 19 23 19 32 6
10 46 20 11 36 25 36 28 50 50

输出 #2

3

输入输出样例 #3

输入 #3

2
1 999999999
1 1000000000

输出 #3

1

说明/提示

样例解释 #1

重排 \(B\) 序列得 \(\{8,4,5,2,6\}\),此时 \(A\times B\) 得到的数组为 \(\{8,8,15,8,30\}\),其中 \(8\) 出现次数最多,出现 \(3\) 次。

可以证明不存在重排 \(B\) 序列的方式,使得答案大于 \(3\)。

数据范围

对于 \(100\%\) 的数据,保证 \(1 \le N \le 2000\),\(1 \le A_i,B_i \le 10^9\)。

信息

ID
1003
难度
10
分类
(无)
标签
递交数
1
已通过
0
通过率
0%
上传者