ALEXMATH

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

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

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

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

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

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

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

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

В таблице результатов участники располагаются по убыванию суммы, при равенстве сумм – по возрастанию штрафов, при равенстве сумм и штрафов – по возрастанию пропусков. При равенстве всех трёх показателей участники располагаются в итоговой таблице в порядке возрастания их личных номеров. Победителями считаются \(20\%\) участников, показавших лучшие результаты, а также те, у которых все три показателя такие же, как у занявшего последнее место среди лучших \(20\%\) участников. Среди \(10\%\) лучших участников, не ставших победителями, но получивших положительную сумму, разыгрывается утешительный приз — автомобиль. Определите личный код участника, показавшего лучший результат среди тех, кто не стал победителем викторины, а также общую сумму баллов, набранную теми участниками, среди которых разыгран автомобиль. Если при определении количества участников получается не целое число, оно округляется до ближайшего меньшего целого.

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

Запишите в ответе два числа: сначала личный код участника, показавшего лучший результат среди тех, кто не стал победителем викторины, а затем общую сумму баллов, набранную теми участниками, среди которых разыгран автомобиль.

Решение:

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)
N5 = N // 5
t = part[N5 - 1][:3]
while part[N5][:3] == t:
    N5 += 1
consol = [p for p in part[N5:] if p[0] > 0]
N10 = len(consol) // 10

print(-part[N5][3], sum(p[0] for p in consol[:N10]))

Ответ: \(2299 \,\, 36950\)

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

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

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

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

Новое видео

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

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

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

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

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