Довольно комплексная задача для начинающих: и циклы, и поиск максимума, и понимание процентов. Давайте читать условие:
Очень понятное условие, ограничения очень небольшие, без подводных камней, поэтому можем сразу приступить к решению.
Считаем входные данные. Из особенностей, здесь нам совсем не нужно количество фирм, поэтому можем просто написать input(), никуда не сохраняя считанное число:
Два входных набора данных приведём к числовому типу, но не будем из них делать списки, так как задачу можно решить за один проход по ним, и здесь не потребуется произвольный доступ к элементам по индексу.
Заведём пару переменных, в которых будем хранить результаты - максимальное количество налогов, которые заплатила фирма, и её номер. Так как все значения неотрицательные, можем проинициализировать эти переменные нулями:
Осталось одновременно пройтись по массивам v и p и найти максимальное произведение. Так как нам ещё нужен номер фирмы, то используем функцию enumerate(), чтобы не поддерживать индекс вручную:
Да, для вычисления налога нельзя просто так умножить проценты на прибыль, надо ещё поделить на 100. Но здесь нам не нужен сам налог, а требуется лишь номер максимального значения. И если мы не будем все значения делить на 100, то и номер максимального не изменится (а мы при этом сэкономим на вычислениях).
И выведем номер фирмы:
Здесь надо не забыть прибавить 1, так как у нас везде индексация с нуля, а из условия задачи видно, что фирмы нумеруются с 1.
Предыдущий выпуск: Задача 271. Числа Фибоначчи - 2
Я очень хочу, чтобы мои советы были полезны вам, а для того, чтобы быстрее всех получать новые статьи можно подписаться на мой канал.