Тема . (старое) 27. Программирование

.05 Макс/мин, кол-во пар, сумма/разность кратна/не кратна

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

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

Задача 1#63846

На вход программы подаётся: в первой строке — количество входных чисел N (N  ≤ 106)  . В последующих N строках - последовательность из N целых чисел. Известно, что каждое число положительное и не превышает 700 000 000. Найти среди них такие три числа, что их сумма максимальна, и хотя бы два из них имеют разные остатки от деления на 17. Ответом является такая максимальная сумма. Гарантируется, что такая тройка чисел есть. Пример организации исходных данных во входном файле:

4

15

32

49

7

Для указанных входных данных значением искомой суммы должно быть число 88.

Пояснение. При таких данных имеется всего 4 варианта выбрать тройку чисел: 15 + 32 + 49 = 96, 15 + 32 + 7 = 54, 15 + 49 + 7 = 71, 32 + 49 + 7 = 88. Максимальную сумму даёт первая тройка. Но в ней все три числа имеют одинаковый остаток от деления на 17. В следующей по величине сумме (88) есть два числа, которые имеют разные остатки. В ответе укажите два числа через пробел: сначала значение искомой суммы для файла А, затем для файла B.

Вложения к задаче
Показать ответ и решение
f = open(’D:/27B__1vpyj.txt’) #для ответа на A нужно подключить файл 27A.txt
n = int(f.readline())
a = []
for i in range(n):
    a.append(int(f.readline()))

mx = [0]*3
for i in range(n):
    t = [[mx[0], mx[1], a[i]], [mx[0], a[i], mx[2]], [a[i], mx[1], mx[2]]]
    for j in t:
        if sum(j) > sum(mx):
            if len(set([j[0] % 17, j[1] % 17, j[2] % 17])) >= 2:
                mx = j[:]
print(sum(mx))

Ответ: 20839995 20999934

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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