Ошибка.
Попробуйте повторить позже
В городе, на одной из кольцевых автодорог с двусторонним движением, расположены N многоэтажных жилых зданий для детских садов и школ. Длина кольцевой автодороги равна К км, при этом нулевой километр и K-й километр находятся в одной точке.
Дети ежедневно получают пончики, которые упакованы в доставочные пакеты, каждый из которых вмещает не более 300 штук. Каждый доставочный пакет используется для доставки пончиков только в одно здание, и в каждое здание может быть доставлен не более одного пакета с неполной загрузкой.
Склад для пончиков открыли в одном из зданий таким образом, чтобы количество доставляемых пакетов с пончиками было максимальным. Пончики в те здания, которые находятся на расстоянии более M километров от склада, не доставляются. Требуется определить необходимое количество доставочных пакетов на складе.
Входные данные:
Даны два входных файла: файл A и файл B, каждый из которых в первой строке содержит числа N, K и M – количество зданий, длина кольцевой автодороги в километрах и максимальное расстояние, на которое можно осуществлять доставку пончиков. В каждой из следующих N строк находятся два числа: номер километра кольцевой автодороги, на котором расположено здание, и количество пончиков(все числа натуральные, количество не превышает 2000). Данные указаны в порядке расположения зданий на автодороге.
В ответе укажите два числа через пробел: сначала искомое значение для файла А, затем для файла B.
f = open(’27B_4.txt’) n,k,m = map(int,f.readline().split()) a = [] kms = set() for i in range(n): km,donut = map(int,f.readline().split()) km = km % k count_packet = donut // 300 if donut % 300 == 0 else donut // 300 + 1 a.append([km,count_packet]) b = [0]*k for i in range(n): km,count_packet = a[i] b[km] = count_packet b = b * 2 mx = s = sum(b[:2*m+1]) for i in range(m+1,k+m): s = s - b[i-m-1] + b[i+m] if b[i] > 0: mx = max(mx,s) print(mx)
Специальные программы
Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!
Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.
Бесплатное обучение
в Школково
Для детей ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Брянской областей, а также школьникам, находящимся в пунктах временного размещения Крыма обучение на платформе бесплатное.
Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».
Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ или олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!
Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!