Ошибка.
Попробуйте повторить позже
Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел делилась на 41 и при этом была минимально возможной. Гарантируется, что искомую сумму получить можно. Программа должна напечатать одно число – минимально возможную сумму, соответствующую условиям задачи
Входные данные: Даны два входных файла: файл (27_10A.txt) и файл (27_10B.txt), каждый из которых содержит в первой строке количество троек . Каждая из следующих строк содержит три натуральных числа, не превышающих 10000.
В ответе укажите два числа через пробел: сначала значение искомой суммы для файла , затем для файла .
f = open(’27_10B.txt’) n = int(f.readline()) s = 0 #массив для хранения минимальных разностей mr = [1000000000500000000000]*41 for i in range(n): #пара чисел из файла a, b = map(int, f.readline().split()) #добавляем к сумме минимальное число из пары s += min(a, b) d = abs(a-b) #разница между числами в паре mr1 = mr[:] #копия массива минимальных разностей #проходимся по всем остаткам от деления на 41 for j in range(41): #если сумма разницы и элемента массива меньше элемента в массиве, #обновляем элемент в массиве if d + mr1[j] < mr[(d+mr1[j]) % 41]: mr[(d+mr1[j]) % 41] = d + mr1[j] #если разница меньше элемента в массиве, обновляем элемент if d < mr[d % 41]: mr[d % 41] = d #если сумма делится на 41, выводим ее if s % 41 == 0: print(s) else:# проходимся по всем элементам массива минимальных разностей for i in range(41): #если сумма с текущим элементом массива делится на 41, #выводим это значение if (s + mr[i]) % 41 == 0: print(s + mr[i])
Специальные программы
Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!
Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.
Бесплатное обучение
в Школково
Для детей ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Брянской областей, а также школьникам, находящимся в пунктах временного размещения Крыма обучение на платформе бесплатное.
Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».
Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ или олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!
Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!