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

Дано число n  — количество мусорок, расположенных по кругу, затем n  чисел — количество фантиков во всех этих мусорках, требуется найти количество фантиков, которое соберёт Максим за половину круга для всех его начальных позиций. Вывести все эти числа от 1  до N (1 ≤ N ≤ 109)

f = open("4.txt")
n = int(f.readline())
a = [int(f.readline()) for i in range(n)]
s = [0] * n
s[0] = sum(a[:n // 2])
for i in range(1, n):
    s[i] = s[i - 1] - a[i - 1] + a[(i + n // 2 - 1) % n]
print(*s)

Ответ: 747 1082 1439 1507 1172 815
Оцените статью
Я решу все!