Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Тренировки Пробники Статистика Карточки Учебник Об экзамене Учительская
  • Тренажёр заданий ЕГЭ
  • Тренажёр ЕГЭ по Информатике
  • Список заданий №0
  • Задание №0
  • Задание №61881 ЕГЭ Информатике

    Условие задания #61881

    №0 по КИМ

    На каждом 3-м километре кольцевой автодороги с двусторонним движением установлены контейнеры для мусора. Длина кольцевой автодороги равна 3N километров. Нулевой километр и 3N-й километр автодороги находятся в одной точке. Известно количество мусора, которое накапливается ежедневно в каждом из контейнеров. Из каждого пункта мусор вывозит отдельный мусоровоз. Стоимость доставки мусора вычисляется как произведение количества мусора на расстояние от пункта до центра переработки. Центр переработки отходов открыли в одном из пунктов сбора мусора таким образом, чтобы общая стоимость доставки мусора из всех пунктов в этот центр была минимальной.

    Определите минимальные расходы на доставку мусора в центр переработки отходов.

    Входные данные

    Дано два входных файла (файл A и файл B), каждый из которых в первой строке содержит число N (1 ≤ N ≤ 10 000 000)  — количество пунктов сбора мусора на кольцевой автодороге. В каждой из следующих N строк находится число  — количество мусора в контейнере (все числа натуральные, количество мусора в каждом пункте не превышает 1000). Числа указаны в порядке расположения контейнеров на автомагистрали, начиная с первого километра.

    В ответе укажите два числа: сначала значение искомой величины для файла А, затем  — для файла B.

    Типовой пример организации данных во входном файле

    6

    8

    20

    5

    13

    7

    19

    При таких исходных данных, если контейнеры установлены на каждом километре автодороги, необходимо открыть центр переработки в пункте 6. В этом случае сумма транспортных затрат составит: 1 · 7 + 0 · 19 + 1 · 8 + 2 · 20 + 3 · 5 + 2 · 13.

    107_27_A.txt

    107_27_B.txt

    Ответ

    Ответ:

    471228 49113954961677

    Решение

    f = open("107_27_B.txt")
    n = int(f.readline())
    elems = [0 for i in range(n)]
    answers = [0 for i in range(n)]
    sum = 0
    rightSum = 0
    leftSum = 0
    for i in range(0, n):
        elems[i] = int(f.readline())
    for i in range(0, n):
        elems[i] = elems[i] * 3
    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]
    sum = sum + elems[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))

    Понятно ли решение?

    Похожие задания

    15
    Задание №71953Задание №71952Задание №20415Задание №71951Задание №20414Задание №20416Задание №31793Задание №20408Задание №38017Задание №71950Задание №21583Задание №75926Задание №75924Задание №75922Задание №75919
    Бесплатно

    Решай задачи ЕГЭ в приложении

    Скачивай наш Тренажер ЕГЭ на iPhone или Android и тренируйся в любое время и в любом месте!

    Саша — ассистент в телеграмме