The problem is from a programming competition.
你有两个序列
A (a1, a2, a3, ... an)
和 B (b1, b2, b3, ... bn)
,它们的长度相同为 N
。在每一步操作中,如果 ai >= bi
,则可以将 ai
设为 ai - bi
。确定将所有数变为相等的最小步骤数。
例如:
A = {5, 7, 10, 5, 15}
B = {2, 2, 1, 3, 5}
在上面的例子中,使所有元素相等所需的最小步骤数为8。
A = {5, 15, 25, 35, 45, 90, 100}
B = {5, 5, 5, 5, 5, 5, 5}
在上面的例子中,使序列
A
中所有元素相等所需的最小步骤数是 56
。请注意,如果无法使序列
A
的所有元素相等,则输出 -1
。例如:
A = {5, 6}
B = {4, 3}
在上述情况下,答案是
-1
,因为不可能使A
的所有元素相等。A = {5, 15, 25, 35, 45, 90, 100}
B = {5, 5, 5, 5, 5, 0, 5}
在上述情况下,答案是
-1
,因为无法使A
的所有元素相等。有人能帮我解决如何高效地解决这个问题吗?