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

Задача . A. Рома и браузер


Задача

Темы: реализация *1000

Рома проснулся утром и, открыв браузер, увидел, что там открыто \(n\) вкладок, пронумерованных от \(1\) до \(n\). Все вкладки делятся на два типа: вкладки с информацией об экзамене и вкладки с социальными сетями. Рома решил, что вкладок открыто слишком много, поэтому часть из них он хочет закрыть.

Рома хочет закрыть каждую \(k\)-ю (\(2 \leq k \leq n - 1\)) вкладку и после этого определиться, чем же он хочет заниматься — отдыхать или готовиться к экзамену. Формально, Рома выберет одну вкладку, пусть ее номер равен \(b\), и закроет все вкладки с номерами \(c = b + i \cdot k\) такими, что \(1 \leq c \leq n\), а \(i\) — целое число (положительное, отрицательное или ноль).

Например, если \(k = 3\), \(n = 14\) и Рома выберет \(b = 8\), то он закроет вкладки с номерами \(2\), \(5\), \(8\), \(11\), \(14\).

После закрытия вкладок он посчитает, сколько осталось вкладок с информацией о экзамене, пусть это число равно \(e\), и сколько вкладок осталось с социальными сетями (\(s\)). Помогите Роме вычислить максимально возможный модуль разности \(|e - s|\), чтобы ему было проще определиться, чем же заняться дальше.

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

В первой строке заданы два натуральных числа \(n\) и \(k\) (\(2 \leq k < n \leq 100\)) — количество открытых в данный момент вкладок и расстояние между закрываемыми вкладками.

Во второй строке записаны \(n\) целых чисел, каждое из которых равно либо \(1\), либо \(-1\). \(i\)-е число показывает тип \(i\)-й вкладки: если оно равно \(1\), то эта вкладка с информацией об экзамене, а если \(-1\), то это социальная сеть.

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

Выведите единственное число — максимально возможный модуль разности между количествами вкладок разного типа \(|e - s|\).

Примечание

В первом примере мы можем выбрать \(b = 1\) или \(b = 3\). Тогда мы удалим по одной вкладке каждого типа, а все оставшиеся вкладки будут содержать информацию к экзамену. Поэтому \(e = 2\) и \(s = 0\), а ответ равен \(|e - s| = 2\).

Во втором примере, наоборот, можно оставить только вкладки с социальными сетями.


Примеры
Входные данныеВыходные данные
1 4 2
1 1 -1 1
2
2 14 3
-1 1 -1 -1 1 -1 -1 1 -1 -1 1 -1 -1 1
9

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

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