27.02 Мусорки, кольцевая дорога
Ошибка.
Попробуйте повторить позже
В городе M расположена кольцевая автодорога длиной в N километров с движением в обе стороны. На каждом километре автодороги расположены пункты приема мусора определенной вместимости. В пределах кольцевой дороги около k-ого пункта сборки мусора поставили мусороперерабатывающий завод. Стоимость доставки мусора вычисляется, как вместимость пункта сбора умноженная на расстояние от пункта сбора мусора до мусороперерабатывающего завода. Если мусороперерабатывающий завод находится рядом с пунктом сбора расстояние считается нулевым. Контейнеры нумеруются с 1 до N. Требуется найти модуль разницы стоимостей сбора всего мусора при перемещении завода с k-ой позиции контейнера на k + 1(при k = N, (k + 1)-ая позиция соответствует 1 позиции контейнера)
Описание входных данных:
Первое число N — количество контейнеров для мусора, второе число k - номер контейнера для мусора рядом с которым стоит перерабатывающий завод. Последующие N чисел — количество килограмм мусора, которое производится на точке.
Описание выходных данных:
Одно число — модуль разницы стоимостей сбора мусора при перемещении завода с k-ой позиции контейнера на k + 1(при k = N, (k + 1)-ая позиция соответствует 1 позиции контейнера)
n = int(file.readline())
k = int(file.readline()) - 1
a = [int(file.readline()) for i in range(n)]
s = [sum(a[0:n // 2])]
for i in range(1, n):
s.append(s[i - 1] - a[i - 1] + a[(i - 1 + n // 2) % n])
summa = sum(a)
p = []
for i in range(n):
p.append(summa - s[i])
# ищем стоимость, если завод стоит на
# k-ой позиции
price = 0
for i in range(1, n):
price += min(i, n - i) * a[(i + k) % n]
# найдем k+1 стоимость
new_price = price - s[k + 1] + p[k + 1]
print(abs(price - new_price))
Специальные программы
Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!
Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.
Бесплатное онлайн-обучение
Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.
Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».
Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!
Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!