Для участников велогонки на каждом километре кольцевой трассы с двусторонним движением установлены пункты питания. Длина кольцевой трассы равна
Определите минимальную суммарную стоимость доставки питания для спортсменов из цеха его подготовки в пункты питания на трассе.
Входные данные.
Дано два входных файла
пунктов питания на кольцевой трассе. В каждой из следующих
Типовой пример организации данных во входном файле:
6
8
20
5
13
7
19
При таких исходных данных, если контейнеры установлены на каждом километре автодороги, необходимо открыть центр переработки
Типовой пример имеет иллюстративный характер. Для выполнения задания используйте данные из прилагаемых файлов.
Предупреждение: для обработки
Ответ:
Сначала считаем количество чисел в файле, затем считаем все числа
Решение на языке Python.
f = open("1_27.txt")
n = int(f.readline())
elems = [int(i) for i in f]
answers = [0 for i in range(n)]
sum = 0
rightSum = leftSum = 0
for i in range(1, n // 2):
sum = sum + elems[i] * i + elems[n - i] * i
rightSum = rightSum + elems[i]
leftSum = leftSum + elems[n - i]
if n % 2 == 0:
sum = sum + elems[n // 2] * (n // 2)
else:
sum = sum + elems[n // 2] * (n // 2) + elems[n - n // 2] * (n // 2)
answers[0] = sum
for i in range(1, n):
answers[i] = answers[i - 1] + leftSum + elems[i - 1] - rightSum - elems[(i + (n // 2) - 1) % n]
rightSum = rightSum - elems[i] + elems[(i + (n // 2) - 1) % n]
leftSum = leftSum - elems[(i - (n // 2)) % n] + elems[i - 1]
print(min(answers))
Ответ: 141530, 18192010182272.

