Я практиковал задачу кик-старта «Автобусные маршруты», и хотя мое решение правильное, я получаю проблему с превышением лимита памяти, и я не уверен, почему. Вот ссылка на проблему: https://codingcompetitions.withgoogle.com/kickstart/round/000000000019ffc8/00000000002d83bf
Ниже мой код (записан в python3):
T = int(input())
for i in range(T):
numBuses, maxDays = map(int, input().split())
busArray = list(map(int, input().split()[:numBuses]))
possibleDays = list(range(busArray[0], maxDays+1, busArray[0]))
while(len(possibleDays) > 1):
startIndex = len(possibleDays)//2
startDay = possibleDays[startIndex]
busIterator = 0
for currentDay in range(startDay, maxDays+1):
while(busIterator < len(busArray) and currentDay % busArray[busIterator] == 0):
busIterator += 1
if(busIterator == (len(busArray))):
possibleDays = possibleDays[startIndex:]
else:
possibleDays = possibleDays[:startIndex]
print("Case #" + str(i+1) + ": " + str(possibleDays[0]))