11263. НСД послідовності


Відправити розв'язок

Бали: 100
Time limit: 1.0s
Memory limit: 250M

Author:
Problem type
Allowed languages
C++, Java, Pascal, Python

Ми маємо послідовність \(N\) цілих чисел: \(A_1, A_2, \cdots, A_N\).

Ви можете виконати таку операцію від 0 до K разів(включно):

  • Виберіть два цілі числа \(i\) та \(j\) такі, що \(i \neq j\), кожне від 1 до \(N\)(включно). Додайте 1 до \(A_i\) і -1 до \(A_j\), можливо утвориться від'ємний елемент.

Знайдіть максимально можливе натуральне число, яке є дільником для кожного елемента послідовності \(A\) після виконання операцій.

Тут натуральне число \(x\) є дільником цілого числа \(y\) тоді і тільки тоді, коли існує ціле число \(z\) таке, що \(y = xz\).

Формат вхідних даних

Перший рядок вхідного потоку містить цілі числа \(N, K\) (\(2 \le N \le 500\), \(0 \le K \le 10^9\)).

Другий рядок містить \(N\) цілих чисел \(A_i\) (\(1 \le A_i \le 10^6\)), які розділяються пропуском.

Формат вихідних даних

У вихідний потік вивести шукане число.

Примітка

До прикладу 1:

7 є дільником кожного елемента \(A\), якщо, наприклад, ми виконаємо таку операцію:

  • Виберіть \(i = 2\), \(j = 1\). \(A\) стає (7, 21).

Ми не можемо досягти ситуації, коли 8 або більше ціле число є дільником \(A\).

Приклад вхідних даних

2 3
8 20

Приклад вихідних даних

7

Приклад вхідних даних

2 10
3 5

Приклад вихідних даних

8

Приклад вхідних даних

4 5
10 1 2 22

Приклад вихідних даних

7

Коментарі

Ще немає коментарів.