Тема 27. Программирование

27.07 Макс/мин, кол-во пар, смешаное кратно/не кратно

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела программирование
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#26422

На вход программы поступает последовательность из N  натуральных чисел. Рассматриваются все пары различных элементов последовательности, у которых одинаковые остатки от деления на L = 29  и хотя бы одно из чисел делится на A = 17  . Необходимо найти и вывести максимальную сумму элементов пары среди таких пар. В ответ запишите 2  числа через пробел: ответ для файла А и ответ для файла В.

Вложения к задаче
Показать ответ и решение

Решение 1 (неэффективное)

f = open("27A.txt")
n = int(f.readline())
a = [int(f.readline()) for x in range(n)]
ans = 0
for i in range(n):
    for j in range(i + 1, n):
        if a[i] % 29 == a[j] % 29:
            if (a[i] % 17 == 0) or (a[j] % 17 == 0):
                ans = max(ans, a[i] + a[j])
print(ans)

Решение 2 (эффективное)

file = open(’file_B.txt’)
n = int(file.readline())

ans = -1
maxim_krat_17 = [-1] * 29
maxim_nekrat_17 = [-1] * 29

for i in range(n):
    x = int(file.readline())
    ost = x % 29
    if x % 17 == 0:
        ans = max(ans, maxim_nekrat_17[ost] + x, maxim_krat_17[ost] + x)
        maxim_krat_17[ost] = max(maxim_krat_17[ost], x)
    else:
        ans = max(ans, maxim_krat_17[ost] + x)
        maxim_nekrat_17[ost] = max(maxim_nekrat_17[ost], x)
print(ans)

Ответ: 1967 1972

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение

Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты

Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей

Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!