Задача к ЕГЭ по информатике на тему «Мусорки, кольцевая дорога» №6

Почтальон Петя работает в маленьком городке, в котором все дома расположены вдоль одной круговой дороги. Петя может начать свой маршрут работы с любого дома, индекс которого кратен 100. Он собирает посылки из первого дома и направляется к следующему дому по часовой стрелке. Прибыв в следующий дом, Петя сравнивает количество посылок в этом доме с количеством посылок, которые он несет с собой. Если количество посылок в доме равно или больше, чем у него, то Петя оставляет половину своих посылок в этом доме (если число получается нецелым, то округляется в меньшую сторону), берёт то количество посылок, что лежало в доме изначально и идет дальше. Если же количество посылок в доме меньше, чем у него, то Петя выкидывает все свои посылки и берет половину посылок из текущего дома (если число получается нецелым, то округляется в меньшую сторону). Цель Пети – узнать, с каким максимально возможным количеством посылок он может вернуться к дому, с которого он начал свой маршрут.

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

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

Дано два входных файла (файл A и файл B), каждый из которых в первой строке содержит одно число N (1 ≤ N ≤ 1000000)  количество домов, а в последующих строках содержится количество посылок в каждом из домов.

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

f = open(’27_1B.txt’)
n = int(f.readline())
a = [int(i) for i in f]
mx = 0
for start in range(0,n,100):
    temp = a[start]
    for i in range(start+1,start + n):
        if a[i % n] >= temp:
            temp = temp // 2 + (temp % 2) + a[i % n]
        else:
            temp = a[i % n] // 2
    if temp >= mx:
        mx = temp
print(mx)

Ответ: 3874 5746
Оцените статью
Я решу все!