【发布时间】:2019-06-08 13:27:13
【问题描述】:
将数组拆分为两个非空部分,使得第一部分和第二部分的 gcd 之和最大
我将最大元素放在第一部分,第二大元素放在第二部分,然后从剩余的最小元素开始检查每个部分的 GCD,并将其添加到先前 ans 中损失最小的部分(到目前为止的 gcd 总和)
我想我错过了一些极端情况
【问题讨论】:
-
并非总是如此,例如[1000, 700, 500] 在 [1000, 500] 和 [700] 中的最大 GCD 为 1200,但您的方法给出的是 1001。
-
另外,我的算法将在第一部分 [5] 中采用 [6],然后将 1,2,3,4 附加到 [5],因此答案将是 7
-
SO 不适合这个。这是来自 codechef [codechef.com/JUNE19B/problems/SUMAGCD]. 上正在进行的编程挑战的问题
标签: arrays sorting number-theory greatest-common-divisor