ALEXMATH

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

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

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

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

Задание 26. Информатика. ЕГЭ. Поляков-7774

Просмотры: 385
Изменено: 11 мая 2025

Участники викторины отвечают на \(10\) вопросов, сложность которых оценивается числом от \(10\) до \(100.\) При удачном ответе на вопрос стоимостью \(Q\) участник получает \(Q\) баллов, при неправильном ответе на такой вопрос он получает \(Q\) штрафных баллов, которые вычитаются из результата. Участник может не отвечать на какие-то вопросы, при этом его сумма баллов не изменяется. Чтобы определить победителей, для каждого участника вычисляются три показателя:

  1. сумма – сумма набранных баллов;
  2. штрафы – сумма штрафных баллов за неправильные ответы;
  3. пропуски – количество вопросов, на которые участник вообще не отвечал.

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

Входные данные представлены в файле следующим образом. В первой строке входного файла записано натуральное число \(N,\) не превышающее \(10~000\) — количество участников викторины. Вторая строка содержит \(10\) чисел, разделённых пробелом: «стоимости вопросов». В каждой из следующих \(N\) строках через пробел записаны через пробел \(11\) чисел: сначала код участника, а затем \(10\) чисел, характеризующих ответы этого участника на вопросы \((1,\) если ответ верный; \(-1,\) если ответ неверный и \(0,\) если участник не отвечал на вопрос).

Запишите в ответе два числа: сначала личный код участника, показавшего лучший результат среди тех, кто не стал победителем викторины, а затем количество участников, у которых все три показателя такие же, как у участника, занявшего в итоговой таблице \(1200\) место (включая самого этого участника).

Решение:

Python


fd = open('26.txt')
N = int(fd.readline())
points = [0] + [int(x) for x in fd.readline().split()]
part = []

for line in fd:
    data = [int(x) for x in line.split()]
    s, p, a = 0, 0, 0
    for i in range(1, 11):
        s += data[i] * points[i]
        p += data[i] * points[i] if data[i] < 0 else 0
        a += data[i] == 0
    part.append((s, p, -a, -data[0]))

part.sort(reverse=True)
N3 = N // 3
t = part[N3 - 1][:3]
while part[N3][:3] == t:
    N3 += 1
t = part[1199][:3]
arr = [p for p in part if p[:3] == t]
print(-part[N3][3], len(arr))

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

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

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

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

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

Новое видео

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

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

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

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

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