Уставшие от необычно тёплой зимы
жители Фростхольма решили выяснить, действительно ли текущая оттепель является
самой продолжительной за всю историю метеорологических наблюдений. Они
обратились к синоптикам, которые, в свою очередь, приступили к анализу статистических
данных за предыдущие годы. Их интересует, сколько дней длилась самая
продолжительная оттепель.
Оттепелью считается период, в
течение которого среднесуточная температура каждый день превышала 0 градусов Цельсия. Напишите программу, которая поможет
синоптикам решить эту задачу.
Вход. Первая строка содержит количество
рассматриваемых дней n (1 ≤ n ≤ 1000).
Вторая строка содержит n
целых чисел – среднесуточные температуры в соответствующие дни. Температуры
являются целыми числами и лежат в диапазоне от -50 до 50.
Выход. Выведите одно число – длину самой
продолжительной оттепели, то есть максимальное количество подряд идущих дней, в
течение которых среднесуточная температура превышала 0 градусов. Если во все
дни температура была неположительной, выведите 0.
|
Пример
входа |
Пример
выхода |
|
6 -20 30 0 50 10 -10 |
2 |
массивы
В переменной res вычисляем длину самой продолжительной
оттепели.
В переменной temp вычисляем длину текущей оттепели – то есть
количество подряд идущих дней с положительной температурой.
Для
каждого дня анализируется значение температуры:
·
если температура положительная, значение temp увеличивается на 1;
·
в противном случае temp сбрасывается в 0.
В
процессе обработки всех дней поддерживается максимум среди значений temp,
который сохраняется в переменной res.
Пример
Рассмотрим
пример.

Читаем количество дней n.
scanf("%d", &n);
В переменной res вычисляем длину самой продолжительной
оттепели.
В переменной temp вычисляем длину текущей оттепели
(количество подряд идущих дней с положительной температурой).
temp = res
= 0;
Обрабатываем температуры за все n дней.
for (i = 0; i < n; i++)
{
scanf("%d", &cur);
Если cur
> 0, увеличиваем длину текущей оттепели на 1. Иначе сбрасываем
ее значение в 0.
if (cur > 0) temp++; else temp = 0;
Среди всех полученных значений длины текущей оттепели
поддерживаем максимальное значение.
if (temp > res) res = temp;
}
Выводим ответ.
printf("%d\n", res);