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