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

Задача . A. Очередное разделение на команды


Задача

Темы: математика *800

Вы являетесь тренером группы из \(n\) студентов. Умение программировать \(i\)-го студента равно числу \(a_i\). Умения программировать всех студентов различны. Вы хотите поделить их на команды таким образом, что:

  • Не существует двух студентов \(i\) и \(j\), принадлежащих одной команде, таких, что \(|a_i - a_j| = 1\) (т.е. разница между умениями программировать в каждой паре студентов из одной команды должна быть строго больше, чем \(1\));
  • число команд минимально возможное.

Вы должны ответить на \(q\) независимых запросов.

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

Первая строка входных данных содержит одно целое число \(q\) (\(1 \le q \le 100\)) — количество запросов. Затем следуют \(q\) запросов.

Первая строка запроса содержит одно целое число \(n\) (\(1 \le n \le 100\)) — количество студентов в запросе. Вторая строка запроса содержит \(n\) целых чисел \(a_1, a_2, \dots, a_n\) (\(1 \le a_i \le 100\), все \(a_i\) различны), где \(a_i\) — умение программировать \(i\)-го студента.

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

Для каждого запроса выведите ответ на него — минимальное количество команд, которые вы можете составить, если никакие два студента \(i\) и \(j\) такие, что \(|a_i - a_j| = 1\), не принадлежат одной команде (т.е. умения программировать в каждой паре студентов из одной команды различаются строго больше, чем на \(1\))

Примечание

В первом запросе тестового примера \(n=4\) студента с умениями программировать \(a=[2, 10, 1, 20]\). Здесь есть только одно ограничение: \(1\)-й и \(3\)-й студенты не могут быть в одной команде (потому что \(|a_1 - a_3|=|2-1|=1\)). Можно разделить их на \(2\) команды: например, студенты \(1\), \(2\) и \(4\) в первой команде и студент \(3\) во второй команде.

Во втором запросе тестового примера \(n=2\) студента с умениями программировать \(a=[3, 6]\). Можно составить единственную команду, в которую входят оба студента.


Примеры
Входные данныеВыходные данные
1 4
4
2 10 1 20
2
3 6
5
2 3 4 99 100
1
42
2
1
2
1

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

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