Skip to content

Latest commit

 

History

History

187.Программист_на_пляже

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
  1. Программист на пляже

Однажды программист Алексей из Яндекса взял отпуск и уехал отдыхать на море. Там в один из дней он пошёл на пляж, причём пошёл туда не один. Возможно, он пошёл туда с мамой, возможно, с бабушкой, а, возможно, с другом или подругой. Важно, что пошёл он туда не один.

На пляже программист Алексей обнаружил, что осталось всего n (2≤n≤106) свободных лежаков. Но среди всего этого множества лежаков программисту Алексею нужно было всего лишь 2: для него самого и для того (или той), с кем он пришёл. Так как программист Алексей очень любил порядок, то он хотел, чтобы лежаки были как можно более похожи друг на друга. Похожесть лежаков можно вычислить следующим образом:

Каждому лежаку каким-то образом по его внешним признакам назначается некоторое число ai (1≤i≤n, 0≤ai≤109).

Затем непохожесть двух лежаков вычисляется как XOR (побитовое исключающее ИЛИ) чисел назначенных этим лежакам. Чем значение непохожести меньше, тем более похожи лежаки.

Помогите программисту Алексею понять, какого минимального значения непохожести лежаков он может достичь, сравнив попарно все свободные лежаки.

Формат ввода

В первой строке задано число T (1≤T≤1000) — количество тестов. Каждый тест состоит из двух строк.

В первой строке каждого теста задано число n (2≤n≤106) — количество лежаков.

Во второй строке каждого теста заданы nn чисел ai (1≤i≤n, 0≤ai≤109) — значения, которые были поставлены лежакам в соответствие по внешним признакам.

Сумма n по всем тестам не превосходит 106.

Формат вывода

Для каждого теста выведите по одной строке, в которой должно быть единственное число — минимальное значение непохожести.

Решение