ALEXMATH

Информатика. ЕГЭ

Задания для подготовки

Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников

Перейти к заданиям

Задание 26. Информатика. ЕГЭ. Статград. 24.10.2024-1

Просмотры: 1613
Изменено: 1 февраля 2025

Участники викторины письменно отвечают на \(10\) вопросов различной сложности. За правильный ответ начисляется от \(1\) до \(5\) баллов в зависимости от сложности вопроса. За неверный ответ вычитается от \(1\) до \(5\) баллов. Участник может не отвечать на какой-то вопрос, в таком случае баллы за этот вопрос не начисляются.

По результатам викторины для каждого участника вычисляются три показателя:

  1. сумма – общее количество набранных баллов;
  2. плюсы – сумма баллов без учёта неверных ответов;
  3. ответы – общее количество сданных ответов (верных и неверных).

В таблице результатов участники располагаются по убыванию первого показателя – суммы, при равенстве сумм – по убыванию второго показателя (плюсов), при равенстве сумм и плюсов – по убыванию третьего показателя (ответов). При равенстве всех трёх показателей участники располагаются в итоговой таблице в порядке возрастания их личных номеров.

В следующий тур проходят участники, занявшие места в первой трети итоговой таблицы, а также те, у которых все три показателя такие же, как у занявшего последнее место в первой трети таблицы.

Определите ID участника, занимающего в таблице первое место среди тех, кто не прошёл в следующий тур, а также количество участников, у которых все три показателя такие же, как у участника, занявшего в итоговой таблице 1500 место (включая самого этого участника).

Входные данные

Первая строка входного файла содержит целое число \(N\) (\(N \leqslant 10 000\)) – общее количество участников. Каждая из следующих \(N\) строк соответствует одному участнику и содержит \(11\) целых чисел, разделённых пробелами: сначала ID участника, затем – баллы, полученные им за каждый из \(10\) вопросов. Гарантируется, что ID участников не повторяются.

В ответе запишите два целых числа: сначала требуемый ID, затем требуемое количество.

Решение:

Python


base = ''

part = []
fd = open(base + '26.txt')
N = int(fd.readline())
for line in fd:
    tmp = [int(x) for x in line.split()]
    p = {'ID': -tmp[0],
         'sum': sum(tmp[1:]),
         'plus': sum(x for x in tmp[1:] if x > 0),
         'ans': sum(x != 0 for x in tmp[1:])}
    part.append(p)

part.sort(key=lambda x: (x['sum'], x['plus'], x['ans'], x['ID']), reverse=True)

N3 = N//3 - 1
curr = N3 + 1
while part[curr]['sum'] == part[N3]['sum'] \
      and part[curr]['plus'] == part[N3]['plus'] \
      and part[curr]['ans'] == part[N3]['ans']:
    curr += 1
q = 1
t = 1500
while part[t]['sum'] == part[1499]['sum'] \
      and part[t]['plus'] == part[1499]['plus'] \
      and part[t]['ans'] == part[1499]['ans']:
    q += 1
    t += 1
print(-part[curr]['ID'], q)

Ответ: \(4229 \,\, 5\)

Обсуждение задания

Здесь пока нет ни одного комментария. Будьте первым!

kege1
kege2
kege3
Новый тренажёр-эмулятор
Станции КЕГЭ

Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене.

Новое видео

Методы решения задания 16 ЕГЭ по Информатике «Вычисление рекуррентных выражений»

Поддержать автора сайта!

Поддержите автора сайта, если материалы, размещённые здесь, оказались вам полезны.

Совершая донат, вы соглашаетесь с Условиями использования

Расписание пробников Статграда в 2026/27 учебном году