Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3568750
А
Аноним
23 февраля 2026 11:38 · публичный вопрос
А
Аноним

Есть число n и два н записей имя в одной строке оценка глаза урок в другой некоторые ученики отвечают несколько раз потому попали в список тоже несколько раз вы видите самую…

Запрос пользователя

Есть число n и два н записей имя в одной строке оценка глаза урок в другой некоторые ученики отвечают несколько раз потому попали в список тоже несколько раз вы видите самую низкую замку тех которые получили последние ученик списке написать команду в питон

Ответ нейросети
23 февраля 2026 11:38

Задача: есть n, далее две строки по n записей: первая строка — имена учеников (по одной записи на место в списке), вторая строка — оценки. Ученики могут повторяться (несколько попыток). Нужно вывести имя ученика с самой низкой оценкой; если таких учеников несколько, выбрать того, чей элемент в списке последний (то есть максимальный индекс среди тех, у кого минимальная оценка).

Пояснение к решению:

  • Находим минимальную оценку min_score.
  • Среди позиций, где оценка равна min_score, выбираем последнюю по списку (последний по индексу).
  • Соответствующее имя выводим.

Пример кода на Python (пояснение включено в комментариях):

# Ввод:
# первая строка: имена через пробел ( n элементов )
# вторая строка: оценки через пробел ( n элементов ), целые числа

names_line = input().strip()
scores_line = input().strip()

names = names_line.split()
scores = list(map(int, scores_line.split()))

# Безопасность: предполагаем, что len(names) == len(scores) == n

min_score = min(scores)

# Найдём последнюю позицию с минимальной оценкой
last_index = None
for i in range(len(scores) - 1, -1, -1):
    if scores[i] == min_score:
        last_index = i
        break

# Выводим имя на этой позиции
print(names[last_index])

Пояснение к примеру:

  • В списке оценок есть минимум, например 1.
  • Среди всех позиций с 1 выбираем ту с наибольшим индексом (последнюю).
  • Выводим соответствующее имя.

Альтернативный компактный вариант (с использованием генераторов):

min_score = min(scores)
# Находим последний индекс с минимальной оценкой
last_index = max(i for i, s in enumerate(scores) if s == min_score)
print(names[last_index])

Советы:

  • Если вход может приходить в виде нескольких тестов, заключите логику в функцию solve() и выведите результат для каждого теста.
  • Убедитесь, что количество имен и оценок совпадает. Если нет — обработайте как исключение или выведите предупреждение (для заданий обычно предполагается правильный формат).

Пример теста:

  • Ввод: Иван Петр Анна Петр Иван 4 2 5 2 3
  • min_score = 2, позиции: 1 и 3, последняя — индекс 3, имя на позиции 3: Петр
  • Вывод: Петр

Если хотите, могу адаптировать решение под конкретный формат входных данных (например, если имена и оценки приходят в одну строку или через запятую).