чтобы сумма всех выбранных чисел не делилась на 7
Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 7 и при этом была минимально возможной. Если получить требуемую сумму невозможно, в качестве ответа нужно выдать 0.
Программа должна напечатать одно число — минимально возможную сумму, соответствующую условиям задачи (или 0, если такую сумму получить нельзя).
Пример организации исходных данных во входном файле:
6
1 8
2 3
5 15
2 3
1 2
8 9
Пример выходных данных для приведённого выше примера входных данных:
19
Даны два входных файла (файл A и файл B), каждый из которых содержит в первой строке число N (1 ≤ N ≤ 100 000). Каждая из следующих N строк содержит два натуральных числа, не превышающих 10 000.
В ответ запишите два числа: первое — число полученное из первого файла, второе — из второго.
Ответы:
(первое — число полученное из первого файла) (второе — из второго)
Источник: «05.04.2021 ЕГЭ 100БАЛЛОВ, Иосиф Дзеранов»
Решение:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
f = open("27-B.txt") n = int(f.readline()) Dmin = 10001 s = 0 mx, mn = 0, 0 for i in range(n): a, b = map(int, f.readline().split()) mx=max(a, b) mn=min(a, b) s = s + mn if (mx - mn) % 7 > 0 and mx - mn < Dmin: Dmin = mx - mn if s % 7 == 0: s = s - Dmin if s==0: print(0) else: print(s) |
Ответ:
289
332200464
