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

Задача . C. Сбалансированная команда


Вы — университетский тренер. Всего в университете под Вашим надзором \(n\) студентов, умение программировать \(i\)-го студента равно \(a_i\).

Вы хотите составить команду для нового соревнования по программированию. Как Вы знаете, чем больше студентов на соревновании — тем больше шансов победить! Поэтому Вы хотите составить максимальную по количеству студентов команду. Но Вы также знаете, что команда должна быть сбалансированной. Это означает, что умение программировать каждой пары студентов в команде должно отличаться не более, чем на \(5\).

Ваша задача — найти максимально возможное количество студентов в сбалансированной команде.

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

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

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

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

Выведите одно целое число — максимально возможное количество студентов в сбалансированной команде.

Примечание

В первом тестовом примере Вы можете создать команду с умениями \([12, 17, 15]\).

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

В третьем тестовом примере Вы можете создать команду, состоящую из одного студента (и не можете создать команду, состоящую хотя бы из двух студентов).


Примеры
Входные данныеВыходные данные
1 6
1 10 17 12 15 2
3
2 10
1337 1337 1337 1337 1337 1337 1337 1337 1337 1337
10
3 6
1 1000 10000 10 100 1000000000
1

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

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