Олимпиадный тренинг

Задача . E. Прибавление по модулю 10


Вам дан массив из \(n\) целых чисел \(a_1, a_2, \dots, a_n\)

Вы можете неограниченное количество раз применять следующую операцию:

  • выбрать индекс \(i\) (\(1 \le i \le n\)) и заменить значение элемента \(a_i\) на значение \(a_i + (a_i \bmod 10)\), где \(a_i \bmod 10\) — остаток от целочисленного деления \(a_i\) на \(10\).

Для одного индекса (значения \(i\)) эту операцию можно применять многократно. Если операция применяется повторно к одному и тому же индексу, то каждый раз учитывается текущее значение \(a_i\). Например, если \(a_i=47\), то после первого применения операции получим \(a_i=47+7=54\), а после второго получим \(a_i=54+4=58\).

Проверьте, можно ли сделать все элементы массива равными в результате применения нескольких (возможно, нуля) операций.

Например, у вас есть массив \([6, 11]\).

  • Применим данную операцию к первому элементу массива. Заменим \(a_1 = 6\) на \(a_1 + (a_1 \bmod 10) = 6 + (6 \bmod 10) = 6 + 6 = 12\). Получим массив \([12, 11]\).
  • Затем применим данную операцию ко второму элементу массива. Заменим \(a_2 = 11\) на \(a_2 + (a_2 \bmod 10) = 11 + (11 \bmod 10) = 11 + 1 = 12\). Получим массив \([12, 12]\).

Таким образом, при помощи применения \(2\) операций можно сделать все элементы массива равными.

Входные данные

Первая строка содержит одно целое число \(t\) (\(1 \le t \le 10^4\)) — количество наборов входных данных. Далее следует описание каждого набора.

Первая строка каждого набора содержит одно целое число \(n\) (\(1 \le n \le 2 \cdot 10^5\)) — размер массива.

Вторая строка каждого набора содержит \(n\) целых чисел \(a_i\) (\(0 \le a_i \le 10^9\)) — элементы массива.

Гарантируется, что сумма \(n\) по всем наборам не превосходит \(2 \cdot 10^5\).

Выходные данные

Для каждого набора входных данных выведите:

  • YES, если можно сделать все элементы массива равными;
  • NO в противном случае.

Вы можете выводить YES и NO в любом регистре (например, строки yEs, yes, Yes и YES будут распознаны как положительный ответ).

Примечание

Первый набор входных данных разобран в условии.

Во втором наборе входных данных невозможно сделать все элементы массива равными.

В третьем наборе входных данных нужно применить данную операцию по одному разу ко всем равным \(5\) элементам.

В четвёртом наборе входных данных нужно применять данную операцию ко всем элементам, пока они не станут равными \(8\).

В пятом наборе входных данных невозможно сделать все элементы массива равными.

В шестом наборе нужно применять данную операцию ко всем элементам, пока они не станут равными \(102\).


Примеры
Входные данныеВыходные данные
1 10
2
6 11
3
2 18 22
5
5 10 5 10 5
4
1 2 4 8
2
4 5
3
93 96 102
2
40 6
2
50 30
2
22 44
2
1 5
Yes
No
Yes
Yes
No
Yes
No
No
Yes
No

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя