listings
Автор задачі: | Imran AKKI |
Підготовлено: | Imran AKKI |
Редакція: | Hasan Saleh (MathModel) |
Розв'язок Ми знаємо факт, що для будь-яких x,y \ge 0 виконується x \& y \le \min(x,y), бо в кращому випадку вони ділять усі біти.
Ми хочемо показати, що послідовне виконання операції є оптимальним, бо щоразу відповідь або залишатиметься тією ж, або зменшуватиметься через визначення AND, тобто відповідь:
Симулюємо процес для n=3
Очевидно, що ми не можемо виконати більше операцій над масивом , і це мінімально можливе значення, тому оптимальна відповідь: [\underbrace{x,x,...,x}_{n\text{ разів}}], що еквівалентно нескінченному виконанню операції.
for _ in range(int(input())):
n=int(input())
a=list(map(int,input().split()))
A=a[0]
for i in a:
A&=i
print(A)Складність .