Форум » Обработка числовых последовательностей » 3201 » Ответить

3201

Шеин: Не сходится ответ в номере 3201 (Ни у меня, ни у ученика. Решали раздельно с ним - ответы одинаковые) https://kpolyakov.spb.ru/school/ege/gen.php?action=viewTopic&topicId=3201 f = open('3201a.txt', 'r') n = f.readline() smin = 0 smax = 0 d = [100000]*7 for i in range(int(n)): a, b = map(int, f.readline().split()) smin = smin + min(a, b) smax = smax + max(a, b) if abs(a - b) < d[abs(a - b) % 7]: d[abs(a - b) % 7] = abs(a - b) if smin % 7 != smax % 7: smax = smax - d[(smax % 7) - (smin % 7)] print(smax)

Ответов - 3

Поляков: Шеин пишет: Не сходится ответ в номере 3201 А как вы учитываете вариант, когда замена выполняется в нескольких парах?

Олег Шумков: У меня тоже ответ не сходится. Вот так выглядит файл A и его решение в Excel: [pre2] A B МИН МАКС РАЗНОСТЬ ОСТАТ 4001 4158 4001 4158 7665 0 6007 7645 6007 7645 6473 5 2721 2165 2165 2721 5593 0 6077 7949 6077 7949 4088 0 3685 167 167 3685 3518 4 4227 950 950 4227 3277 1 8021 3933 3933 8021 2563 1 4511 1948 1948 4511 2543 2 9063 1398 1398 9063 2152 3 5727 4964 4964 5727 1872 3 3734 4931 3734 4931 1711 3 4108 6260 4108 6260 1638 0 7529 8336 7529 8336 1394 1 2732 9205 2732 9205 1197 0 4234 3927 3927 4234 807 2 2645 2439 2439 2645 763 0 2279 885 885 2279 556 3 5917 324 324 5917 307 6 7840 5297 5297 7840 206 3 6426 4715 4715 6426 157 3 СУММЫ= 67300 2 115780 0[/pre2] Для указанных данных минимальная сумма – 67300, её остаток от деления на 7 равен 2. Максимальная сумма - 115780 имеет остаток 0. Искомую максимальную сумму, имеющую остаток 2 можно получить за счёт вычитания из неё разности или суммы разностей с остатком 5. Смотрим на колонку разностей и находим, что минимальным подходящим числом будет 157+807=964. Т.к. сумма разностей 964 имеет остаток 5 и будет минимальной. Получаем в итоге - 115780-964=114816 с остатком 2. В ответе к этой задаче указано число 115110, имеющее остаток 2. Отсюда следует, что правильный ответ получен так: 115780-670=115110. Вопрос. Откуда взялось число 670? Из суммы разностей нескольких пар оно не получается.

Поляков: Олег Шумков пишет: Откуда взялось число 670? 670 = 206 + 157 + 307.




полная версия страницы