💥Последний веб интенсива! Программирование - ДИНАМИКА в сложных 27! Уровень тимлид

preview_player
Показать описание
Присоединяйся к курсу за 3 месяца по скидке 30%! Пиши ключевое слово ЗИМА в сообщения сообщества:

Подписывайся на рассылку полезных материалов по информатике:

Все наши каналы на Ютубе:

Инстаграм Александра Романовича:

#интенсив #ЕГЭ #КЕГЭ #2021 #информатика #программирование
Рекомендации по теме
Комментарии
Автор

Спасибо огромное! Пытался сам написать алгоритм, но постоянно шняга получалась

ayylmao
Автор

Как этот же алгоритм реализовать для минимумальной суммы?

opomomlslsa
Автор

А что делать, если в условии сказано, что сумма должна быть не кратна какому-то числу, а должна оканчиваться на него?
Принцип такой же? Или немного отличается ?

ayylmao
Автор

А как адаптировать алгоритм для получения минимальной суммы

lustfulglance
Автор

слишком громоздкий, проще без булевых списков:
def new_sums(num, k, max_sums):
new_sums = max_sums[:]
for r in range(k):
d_sum = max_sums[r] + num
d_sum_r = d_sum % k
new_sums[d_sum_r] = max(new_sums[d_sum_r], d_sum)
return new_sums


n = int(input())
k = 5
max_sums = [0] * k

for i in range(n):
a, b = list(map(int, input().split()))
new_max_sums_a = new_sums(a, k, max_sums)
new_max_sums_b = new_sums(b, k, max_sums)
for j in range(k):
max_sums[j] = max(new_max_sums_a[j], new_max_sums_b[j])

print(max_sums)

SwityKey