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

Задача . A. Разностные операции


Вам дан массив \(a\), состоящий из \(n\) целых положительных чисел.

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

  • выбрать индекс \(i\) (\(2 \le i \le n\)) и заменить \(a_i\) на \(a_i - a_{i-1}\).

Можно ли сделать так, чтобы выполнялось \(a_i=0\) для всех \(2\le i\le n\)?

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

Каждый тест состоит из нескольких наборов входных данных. Первая строка входных данных содержит одно целое число \(t\) (\(1\le t\le 100\)) — количество наборов входных данных в тесте. Далее следует описание наборов.

Первая строка содержит одно целое число \(n\) (\(2 \le n \le 100\)) — длину массива \(a\).

Вторая строка содержит \(n\) целых чисел \(a_1,a_2,\ldots,a_n\) (\(1 \le a_i \le 10^9\)).

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

Для каждого набора входных данных выведите «YES» (без кавычек), если возможно заменить \(a_i\) на \(0\) для всех \(2 \le i \le n\), и «NO» (без кавычек) в противном случае.

Вы можете выводить буквы в любом регистре (верхнем или нижнем).

Примечание

В первом наборе входных данных исходный массив — \([5,10]\). Вы можете выполнить \(2\) операции, чтобы достичь цели:

  1. Выбрать \(i=2\), и массив станет равен \([5,5]\).
  2. Выбрать \(i=2\), и массив станет равен \([5,0]\).

Во втором наборе входных данных исходный массив — это \([1,2,3]\). Вы можете выполнить \(4\) операции, чтобы достичь цели:

  1. Выбрать \(i=3\), и массив станет равен \([1,2,1]\).
  2. Выбрать \(i=2\), и массив станет равен \([1,1,1]\).
  3. Выбрать \(i=3\), и массив станет равен \([1,1,0]\).
  4. Выбрать \(i=2\), и массив станет равен \([1,0,0]\).

В третьем наборе входных данных вы можете последовательно выбрать следующие индексы: \(4\), \(3\), \(2\).


Примеры
Входные данныеВыходные данные
1 4
2
5 10
3
1 2 3
4
1 1 1 1
9
9 9 8 2 4 4 3 5 3
YES
YES
YES
NO

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

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