CF1108B.Divisors of Two Integers

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Divisors of Two Integers

题目描述

最近你收到了两个正整数 xx 和 yy。你已经忘记了它们的具体数值,但你还记得一个包含了 xx 的所有约数(包括 11 和 xx)以及 yy 的所有约数(包括 11 和 yy)的混合排列列表。如果 dd 同时是 xx 和 yy 的约数,那么在列表中会出现两次 dd。

例如,如果 x=4x=4,y=6y=6,那么给定的列表可以是 [1,2,4,1,2,3,6][1, 2, 4, 1, 2, 3, 6] 的任意排列。一些可能的列表有:[1,1,2,4,6,3,2][1, 1, 2, 4, 6, 3, 2],[4,6,1,1,2,3,2][4, 6, 1, 1, 2, 3, 2] 或 [1,6,3,2,4,1,2][1, 6, 3, 2, 4, 1, 2]。

你的任务是还原出一组正整数 xx 和 yy,使得它们的所有约数合并后(顺序可以不同)与给定的列表完全一致。

保证一定存在解,即给定的约数列表对应某一组正整数 xx 和 yy。

输入格式

第一行包含一个整数 nn(2≤n≤1282 \le n \le 128),表示 xx 和 yy 的约数总数。

第二行包含 nn 个整数 d1,d2,…,dnd_1, d_2, \dots, d_n(1≤di≤1041 \le d_i \le 10^4),其中 did_i 是 xx 或 yy 的约数。如果某个数同时是 xx 和 yy 的约数,则在列表中出现两次。

输出格式

输出两个正整数 xx 和 yy,使得它们的所有约数合并后(顺序可以不同)与给定的整数列表完全一致。保证一定存在解。

说明/提示

由 ChatGPT 4.1 翻译

样例

10
10 2 8 1 2 4 1 20 4 5
20 8

在线编程 IDE

建议全屏模式获得最佳体验