Minmax30. Дано целое число $$N$$ и набор из $$N$$ целых чисел. Найти минимальное количество подряд идущих максимальных элементов из данного набора.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
program Minmax30; var N,i,Ni,Nmax,Num,MinNum:Integer; begin Num:=0; Write('N:'); Readln(N); MinNum:=N; for i:=1 to N do begin Write(i,' число:'); Readln(Ni); if (i=1) or (Ni>Nmax) then begin Nmax:=Ni; Num:=0; MinNum:=N; end; if Ni=Nmax then inc(Num) else begin if Num<MinNum then MinNum:=Num; num=0; end; end; if (Num<MinNum) and (ni==nmax) then MinNum:=Num; Writeln(MinNum); end. |
Другие задачи из раздела Minmax можно посмотреть здесь.
Неправильно работает для набора типа: 2 21 2 11.
Предлагаю: