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

Подается число n  , затем n  натуральных чисел. Требуется найти минимальную ненулевую префиксную сумму. Если она четна, то выведите ее на экран, если нет, то прибавьте минимально возможную префиксную сумму (если минимальной префиксной суммой является первое число последовательности, то прибавить нужно вторую по величине префиксную сумму), чтобы итоговая подсумма была кратна 2  . Если такой суммы нет — выведите − 1  . Напишите через пробел два числа: ответ для n = 10  и чисел 7328,6024,5008,3531,343,1658,5228,9997,833,3592  , а также ответ для n = 10  и чисел 733,313,956,100,546,33,3213,325,6232,745  .

    n = int(input())
 
    pref = [0]*n
 
    pref[0] = int(input())
 
    ans = 10000000
 
    for i in range(1, n):
 
        pref[i] = pref[i-1] + int(input())
 
        if pref[i] % 2 == 1:
 
            ans = min(ans, pref[i])
 
    if pref[0] % 2 == 0:
 
        print(pref[0])
 
    else:
 
        print(pref[0] + ans if ans != 10000000 else -1)

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