Решения задач по информатике

Задача 69: Сумма подряд идущих

Условие задачи:

Дан массив целых чисел \(a[1], a[2], \ldots, a[n]\) и натуральные числа \(k\) и \(m\).
Укажите минимальное значение \(i\), для которого \(a[i] + a[i+1] + \ldots + a[i + k] = m\) (то есть сумма \(k + 1\) подряд идущих элементов массива равна \(m\)).
Если такого значения нет, то выведите 0.

Вложенные циклы и дополнительные массивы не использовать (требуется решить задачу за один проход исходного массива).

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

На вход программе сначала подаются значения \(n\), \(k\) и \(m\) (\(m <= 10^9, 0 < k < n <= 10^5;\) \(n\) - количество элементов в массиве). В следующей строке входных данных расположены сами элементы массива - целые числа, по модулю не превосходящие \(100\).

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

Выведите ответ на задачу -- число.

Решение:

Пожалуйста, подождите загрузки решения