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

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

Задача 1#63794

У Арчи есть 10000  тугриков. Он хочет их эффективно вложить в лимонад. Ему даны цены за 1000  кубометров лимонада за N  дней. Арчи может только один раз купить лимонад в день i  и продать его в один из последующих дней j  (i < j)  . Помогите Арчи определить номера дней для покупки и продажи лимонада, чтобы получить максимальную прибыль. В ответ укажите день покупки и день продажи через пробел.

Входные данные:

В первой строке файла содержится число дней N  (1 ≤ N  ≤  1000000)  .

В последующих N  строках файла содержатся цены p  (1 ≤ p ≤ 10000)  за 1000  кубометров лимонада в каждый из дней. Дни нумеруются с единицы.

Выходные данные:

Два числа i  и j  — номера дней для покупки и продажи лимонада.

Вложения к задаче
Показать ответ и решение
file = open("temp.txt")
n = int(file.readline())
prices = [int(file.readline()) for x in range(n)]

maxProfit = -1e9
minIndex = 0
left = 0
right = 0

for i in range(1, n):
    purchasePricePerUnit = prices[minIndex] / 1000
    lemonadeThatCanBeBought = 1000 / purchasePricePerUnit
    salePricePerUnit = prices[i] / 1000
    lemonadeThatCanBeSold = lemonadeThatCanBeBought * salePricePerUnit
    profit = lemonadeThatCanBeSold - purchasePricePerUnit * lemonadeThatCanBeBought

    if prices[i] < prices[minIndex]:
        minIndex = i
    elif profit >= maxProfit:
        maxProfit = profit
        left = minIndex + 1
        right = i + 1

print(left, right)

Ответ: 21 92

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

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

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

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

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

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

Бесплатное обучение
в Школково

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

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

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

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

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

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

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

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