![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
pupil |
![]() ![]()
Сообщение
#1
|
Новичок ![]() Группа: Продвинутые Сообщений: 6 Регистрация: 16.11.2008 Город: Казахстан ![]() |
Входной файл cool.in
Выходной файл cool.out Имеются минимальные суточные температуры за N дней (1<=N<=10000). Определить продолжительность периода в течении которого ежедневно были заморозки. Входные данные В первый строке записано число N - кол. дней. Во второй - минимальные суточные температуры, разделенные пробелами. Выходные данные Число - длинна наибольшего периода на протяжении которого были заморозки Пример Cool.in 10 4 -5 -4 -2 -10 0 1 -2 -1 1 Cool.out 4 |
![]() ![]() |
creer |
![]()
Сообщение
#2
|
Студент ![]() ![]() Группа: Продвинутые Сообщений: 121 Регистрация: 28.10.2007 Город: Екатеринбург Учебное заведение: УГТУ-УПИ Вы: студент ![]() |
Возможно нужно написать вместо read(f,n); - readln(f,n); а вместо readln(f,d[i]); - read(f,d[i]);
Массив не обязательно начинать с -10000 (IMG:style_emoticons/default/smile.gif) я бы написал как-то так Граничные условия d[0]:=1; d[n+1]:=1; переменные curr:=0; max:=0; Затем цикл Код for i:=1 to n do begin if (d[i-1]>0) and (d[i]<=0) then curr:=0; if (d[i]<=0) then curr:=curr+1; if (d[i]<=0) and (d[i+1]>0) then if (curr>max) then max:=curr; end; В переменной max должен быть максимальный период. Писал сразу здесь, может что-то пропустил (IMG:style_emoticons/default/smile.gif) |
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 27.5.2025, 22:20 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru