Задача к ЕГЭ по информатике на тему «Программирование – оптимизация по времени и по памяти» №2

Подается число n затем n чисел. Требуется посчитать все возможные префиксные суммы, затем посчитать разности рядом стоящих префиксных сумм (разность от элемента с бОльшим индексом) и вывести их на экран в порядке возрастания через пробел. Для ответа выведите все суммы для n = 10 и чисел 7328, 6024, 5008, 3531, 343, 1658, 5228, 9997, 833, 3592.

n = int(input())
 
pref = [0] * n
 
pref[0] = int(input())
 
diffs = [0] * n
 
for i in range(1, n):
 
    pref[i] = pref[i — 1] + int(input())
 
    diffs[i — 1] = abs(pref[i] — pref[i — 1])
 
print(*sorted(diffs[:-1]))

Ответ: 343 833 1658 3531 3592 5008 5228 6024 9997
Оцените статью
Я решу все!