В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Голес
Голес
14.08.2022 01:37 •  Информатика

Железная дорога при строительстве новой железной дороги возникли проблемы. дорога пролегает по холмистой местности, однако сами пути должны идти строго горизонтально. поэтому руководство строительной компании приняло решение выровнять поверхность земли на этом участке. главная проблема состоит в том, что привозить или вывозить землю на стройку стоит 10000$ за кубический метр. поскольку бюджет железной дороги невелик, этого нельзя себе позволить. поэтому главный инженер принял решение выровнять поверхность, используя только землю, из которой состоят холмы. теперь самая сложная состоит в том, чтобы выяснить высоту над уровнем моря, на которой будет пролегать дорога. это ответственное было поручено вам. через каждый метр от начала участка была измерена высота над уровнем моря. напишите программу, которая по данным измерений рассчитывает искомую высоту. входные данные первая строка входного файла input.txt содержит количество n (1 < n < = 30000) точек, в которых была замерена высота. вторая строка содержит результаты замеров – i-ое число строки содержит высоту над уровнем моря точки, находящейся на расстоянии (i-1) метр от начала участка. все высоты – целые неотрицательные числа, не превосходящие 10000. считайте, что между соседними точками измерений земная поверхность строго прямолинейна. выходные данные в выходной файл output.txt выведите ответ на с точностью, не меньшей 10-5. примеры примеры № input.txt output.txt 1 4 0 1 1 0 0.6666666667 2 5 2 2 2 2 2 2.0000000000 с

Показать ответ
Ответ:
gritana
gritana
06.10.2020 15:12
Представим, что мы сняли всю землю с холмов до нулевого уровня в пределах полосы шириной 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.
Железная дорога при строительстве новой железной дороги возникли проблемы. дорога пролегает по холми
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота