Представим, что мы сняли всю землю с холмов до нулевого уровня в пределах полосы шириной 1 метр, а потом засыпали её обратно так, чтобы уровень стал горизонтальным на высоте h.
Посчитаем объем земли, который был снят. Всю землю можно разделить на фигуры толщиной 1 метр, в основании которых трапеции с высотой 1 м и основаниями - двумя соседними измерениями высоты. Тогда объем каждой фигуры V(i) = (h(i) + h(i + 1)) / 2, полный объем V = V(1) + V(2) + ... + V(N - 1) = h(1)/2 + (h(2) + h(3) + ... + h(N - 2)) + h(N - 1)/2
Объем земли, который использовался для засыпания, равен V = h (N - 1).
Эти объемы, конечно, равны, тогда h = (h(1)/2 + h(N - 1)/2 + (h(2) + h(3) + ... + h(N - 2))/(N - 1)
PascalABC.NET 3.2.1518: begin var N := ReadInteger; print(ReadSeqInteger(N) .Select((x, i) -> (i = 0) or (i = N - 1) ? x/2 : x) .Sum / (N - 1)) end.
С вводом-выводом в файл: begin var f := OpenRead('INPUT.TXT'); var N := f.ReadInteger; var S := f.ReadInteger / 2; for var i := 2 to N - 1 do S += f.ReadInteger; S += f.ReadInteger / 2; print(S / (N - 1)) end.
Ао условию, у тебя два шкафа, в каждом из которых 128 полок, и в этих полках 4 единицы (во всех 128), значит в обоих шкафах 8 единиц, отсюда следует: Максимальное кол-во единиц при 126 полках с нулями и 2 полками с единицами (1111000v000111=1111111 и 0000000v1000000=1000000) т..е. в 3 шкафу будет 126 полок с нулями и 2 полки с 8 единицами. Минимальное кол-во при 127 полками нулей и 1 полкой единиц (1111000v1111000=1111000) т.е. в 3м шкафу будет 127 полок с нулями и 1 полка с 4 единицами. Значит максимум 8 единиц, а минимум 4
Посчитаем объем земли, который был снят.
Всю землю можно разделить на фигуры толщиной 1 метр, в основании которых трапеции с высотой 1 м и основаниями - двумя соседними измерениями высоты. Тогда объем каждой фигуры V(i) = (h(i) + h(i + 1)) / 2, полный объем V = V(1) + V(2) + ... + V(N - 1) = h(1)/2 + (h(2) + h(3) + ... + h(N - 2)) + h(N - 1)/2
Объем земли, который использовался для засыпания, равен V = h (N - 1).
Эти объемы, конечно, равны, тогда h = (h(1)/2 + h(N - 1)/2 + (h(2) + h(3) + ... + h(N - 2))/(N - 1)
PascalABC.NET 3.2.1518:
begin
var N := ReadInteger;
print(ReadSeqInteger(N)
.Select((x, i) -> (i = 0) or (i = N - 1) ? x/2 : x)
.Sum / (N - 1))
end.
С вводом-выводом в файл:
begin
var f := OpenRead('INPUT.TXT');
var N := f.ReadInteger;
var S := f.ReadInteger / 2;
for var i := 2 to N - 1 do
S += f.ReadInteger;
S += f.ReadInteger / 2;
print(S / (N - 1))
end.
Максимальное кол-во единиц при 126 полках с нулями и 2 полками с единицами
(1111000v000111=1111111 и 0000000v1000000=1000000) т..е. в 3 шкафу будет 126 полок с нулями и 2 полки с 8 единицами.
Минимальное кол-во при 127 полками нулей и 1 полкой единиц
(1111000v1111000=1111000) т.е. в 3м шкафу будет 127 полок с нулями и 1 полка с 4 единицами.
Значит максимум 8 единиц, а минимум 4