Codeforces Round 945 (Div. 2) |
---|
Закончено |
Для $$$k$$$ целых положительных чисел $$$x_1, x_2, \ldots, x_k$$$ значение $$$\gcd(x_1, x_2, \ldots, x_k)$$$ является наибольшим общим делителем чисел $$$x_1, x_2, \ldots, x_k$$$ — наибольшим целым числом $$$z$$$ таким, что все числа $$$x_1, x_2, \ldots, x_k$$$ делятся на $$$z$$$.
Вам даны три массива $$$a_1, a_2, \ldots, a_n$$$, $$$b_1, b_2, \ldots, b_n$$$ и $$$c_1, c_2, \ldots, c_n$$$ длины $$$n$$$, содержащие положительные целые числа.
У вас также есть автомат, который позволяет вам менять местами $$$a_i$$$ и $$$b_i$$$ для любого $$$i$$$ ($$$1 \le i \le n$$$). Каждый обмен стоит вам $$$c_i$$$ монет.
Найдите максимальное возможное значение $$$$$$\gcd(a_1, a_2, \ldots, a_n) + \gcd(b_1, b_2, \ldots, b_n)\text{,}$$$$$$ которое вы можете получить, поменяв местами несколько элементов, и заплатив при этом не более $$$d$$$ монет в сумме. Количество монет у вас меняется, поэтому найдите ответ на этот вопрос для каждого из $$$q$$$ возможных значений $$$d_1, d_2, \ldots, d_q$$$.
В первой строке находятся два целых числа $$$n$$$ и $$$q$$$ ($$$1 \leq n \leq 5 \cdot 10^5$$$, $$$1 \leq q \leq 5 \cdot 10^5$$$).
Во второй строке находятся $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \leq a_i \leq 10^8$$$).
В третьей строке находятся $$$n$$$ целых чисел $$$b_1, b_2, \ldots, b_n$$$ ($$$1 \leq b_i \leq 10^8$$$).
В четвертой строке находятся $$$n$$$ целых чисел $$$c_1, c_2, \ldots, c_n$$$ ($$$1 \leq c_i \leq 10^9$$$).
В пятой строке находятся $$$q$$$ целых чисел $$$d_1, d_2, \ldots, d_q$$$ ($$$0 \leq d_i \leq 10^{15}$$$).
Выведите $$$q$$$ целых чисел — максимальное значение, которое можно получить для каждого из $$$q$$$ возможных значений $$$d$$$.
3 41 2 34 5 61 1 10 1 2 3
2 3 3 3
5 53 4 6 8 48 3 4 9 310 20 30 40 505 55 13 1000 113
2 7 3 7 7
1 13450
7
В первом запросе из первого примера нам вообще не разрешается делать никаких обменов, поэтому ответом будет $$$\gcd(1, 2, 3) + \gcd(4, 5, 6) = 2$$$. Во втором запросе одним из способов достижения оптимального значения является обмен $$$a_2$$$ и $$$b_2$$$, тогда ответом будет $$$\gcd(1, 5, 3) + \gcd(4, 2, 6) = 3$$$.
Во втором запросе из второго примера оптимально сделать обмены на позициях $$$1$$$ и $$$3$$$, тогда ответом будет $$$\gcd(3, 3, 6, 9, 3) + \gcd(8, 4, 4, 8, 4) = 7$$$, и нам суммарно придется заплатить $$$40$$$ монет.
Название |
---|