Описание проблемы
Поскольку вы не явились на ежегодное общее собрание Северного клуба коллекционеров булавок, вы были единогласно избраны для организации этой летней экскурсии в Пин-Сити. Этой осенью вы можете выбрать один из нескольких выходных и найти подходящий отель для проживания, желательно как можно дешевле. У вас есть некоторые ограничения: Конечно, общая стоимость поездки должна быть в рамках бюджета. Все участники должны оставаться в одном отеле, чтобы избежать катастрофы прошлых лет, когда некоторые участники потерялись в городе, и их больше никогда не видели.
Ввод
Ввод Файл содержит несколько тестовых случаев, каждый из которых описан ниже. Первая строка ввода состоит из четырех целых чисел: 1 ≤ N ≤ 200, количество участников, 1 ≤ B ≤ 500000, бюджет, 1 ≤ H ≤ 18, количество рассматриваемых отелей и 1 ≤ W ≤ 13, количество недель, которые вы можете выбрать между. Затем следуйте двум строкам для каждого из отелей H. Первый дает 1 ≤ p ≤ 10000, стоимость одного человека, проживающего в выходные дни в отеле. Вторая содержит W целых чисел, 0 ≤ a ≤ 1000, в которой указано количество доступных кроватей на каждые выходные в отеле.
Выходные данные
Для каждого тестового примера напишите к выводу - минимальная стоимость пребывания для вашей группы или «остаться дома», если в бюджете ничего не найдено, в отдельной строке.
Пример ввода
3 1000 2 3
200
0 2 2
300
27 3 20
5 2000 2 4
300
4 3 0 4
450
7 8 0 13
Пример вывода
900
остаться дома
Мой код
def main():
try:
while(1):
n, b, h, w = map(int, input().split())
# print(n, b, h, w)
budget = b + 5
p = []
for i in range(h):
p.append(int(input()))
a = list(map(int, input().split()))
for j in a:
if j >= n and p[i]*n <= (budget-5):
budget = p[i]*n
if(budget <= b):
print(budget)
else:
print("stay home")
except EOFError:
pass
if __name__=="__main__":
main()
Вот ссылка на проблему
*I am getting run time error when solving it on UVA online judge.
What did I do wrong?*