Получается интересная картина. Я руками за 5 дней делаю 5 коробок, и на 6-ой день покупаю духовку. Руками и духовкой я делаю 2 коробки в день, за 5 дней - 10 коробок. На 6-ой день я покупаю вторую духовку. Руками и 2-мя духовками я за 5 дней делаю 15 коробок, и на 6-ой день покупаю 3-ью духовку. И так далее. Чтобы купить очередную духовку, я работаю 5 дней, а на 6-ой день ее покупаю, и у меня печенья не остается совсем. То есть, после покупки каждой духовки я начинаю всё с нуля. Главное - понять, когда нужно остановиться покупать духовки и начать уже копить печенье на складе. Итак, подведем итоги: 1) На покупку каждой духовки мы тратим 6 суток и начинаем с нуля. 2) Имея n духовок, мы делаем 556 коробок печенья за trunc(556/(n+1)) + 1 дней, где trunc(x) = [x] - это целая часть x. 3) Всего мы тратим времени T(n) = 6n + trunc(556/(n+1)) + 1 --> min Минимум функции trunc(556/(n+1)) совпадает с минимумом 556/(n+1) T(n) = 6n + 556/(n+1) + 1 --> min T'(n) = 6 - 556/(n+1)^2 = (6(n+1)^2 - 556) / (n+1)^2 = 0 6(n+1)^2 - 556 = 0 6n^2 + 12n + 6 - 556 = 0 3n^2 + 6n - 275 = 0 D = 36 - 4*3(-275) = 36 + 3300 = 3336 ~ 57,7^2 n1 = (-6 - 57,7)/6 < 0 - не подходит n2 = (-6 + 57,7)/6 ~ 8,6 = 9 Значит, нужно ограничиться покупкой 9 духовок. За 6*9 = 54 дня мы их купим, и за 556/10 ~ 56 дней мы соберем нужное количество коробок на складе. Всего мы истратим 54 + 56 = 110 дней.
Вместо слов тип укажешь real если массив действительных чисел или integer - если целые числа
var a: array[1..10] of тип i,n:integer; max, min, sum: тип begin write('Введите количество элементов массива'); readln(n); for i:=1 to n do read(a[i]); max:=a[1]; min:=a[1]; for i:=2 to n do if a[i]>max then max:=a[i]; for i:=2 to n do if a[i]>min then min:=a[i]; sum:=0; for i:=1 to n do if (a[i]>min) and (a[i]<max) then sum:= sum+a[i]; write('Сумма элементов массива расположенных между максимальным и минимальным = ', sum); end.