У Арчи есть тугриков. Он хочет их эффективно вложить в лимонад. Ему даны цены за
кубометров лимонада за
дней. Арчи может только один раз купить лимонад в день
и продать его в один из последующих дней
. Помогите Арчи определить номера дней для покупки и продажи лимонада, чтобы получить максимальную прибыль. В ответ укажите день покупки и день продажи через пробел.
Входные данные:
В первой строке файла содержится число дней
.
В последующих строках файла содержатся цены
за
кубометров лимонада в каждый из дней. Дни нумеруются с единицы.
Выходные данные:
Два числа и
— номера дней для покупки и продажи лимонада.
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