Подается число , затем
натуральных чисел. Требуется найти минимальную ненулевую префиксную сумму. Если она четна, то выведите ее на экран, если нет, то прибавьте минимально возможную префиксную сумму (если минимальной префиксной суммой является первое число последовательности, то прибавить нужно вторую по величине префиксную сумму), чтобы итоговая подсумма была кратна
. Если такой суммы нет — выведите
. Напишите через пробел два числа: ответ для
и чисел
, а также ответ для
и чисел
.
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)
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