Все задачи №26
№26

Особенные детали в рейтинге качества

На автоматизированной производственной линии последовательно обрабатываются детали. В конце обработки каждая деталь оценивается по числовому показателю качества. Для всей партии из N деталей система сохраняет числовые значения оценки качества (в баллах) – в том порядке, в котором детали сходили с линии (нумерация записей в журнале качества для каждой партии начинается с единицы). На основании этих оценок составляется рейтинг качества деталей партии по следующему алгоритму: деталь занимает в рейтинге место с номером R, если ровно R - 1 деталей имеют больший балл. Несколько деталей могут делить одно место, некоторые места могут быть не заняты. В конце дня инженеры анализируют журнал качества партии, чтобы выявить особенные детали с показателем качества от A до B включительно. Деталь считается особенной при следующих условиях: 1) она была обработана после детали с самым высоким баллом в партии; 2) при этом показатель качества детали, обработанной сразу после искомой, отличается (в ту или иную сторону) от её балла не более чем на K баллов. Определите наивысшее возможное место особенной детали в рейтинге качества и общее количество особенных деталей в партии. Входные данные В первой строке входного файла дано натуральное число N (3 < N < 100 000) - количество деталей в партии. Вторая строка входного файла содержит три натуральных числа, разделённых пробелами: числа A, B (A < B) - границы диапазона допустимых значений качества для поиска особенной детали и число - показатель требуемой разности баллов особенной детали и детали, следующей за ней в исходном списке. В следующих N строках даны натуральные числа, не превышающие 1000, обозначающие баллы деталей в порядке, записанным в журнале качества. Выходные данные Наивысшее возможное место в рейтинге, которое занимает особенная деталь, и общее количество особенных деталей. Типовой пример организации данных во входном файле 12 70 90 5 65 72 88 84 91 77 90 85 80 73 88 83 При таких исходных данных в партии особенные детали с показателями качества 90, 85 и 88 баллов; деталь с показателем качества 90 баллов занимает в рейтинге место 2. Типовой пример имеет иллюстративный характер. Для выполнения задания используйте данные из прилагаемого файла.

Источник: ФИПИ (Основная 19.06.2026), № 31162

Скачать файл: task_31162_A.txt. В редакторе он уже лежит рядом с кодом, открывай как на экзамене: open('task_31162_A.txt').

Ответвпиши то, что вывела программа
Показать разбор
  1. Прочитай n, затем a, b, k и список баллов.
  2. Найди, где стоит наибольший балл.
  3. Иди по деталям после него до предпоследней и отбирай те, что в диапазоне и отличаются от следующей не больше чем на k.
  4. Место наибольшего из отобранных: единица плюс количество деталей с большим баллом.
  5. Выведи это место и количество отобранных.
f = open('task_31162_A.txt')
n = int(f.readline())
a, b, k = map(int, f.readline().split())
x = [int(line) for line in f]

m = x.index(max(x))
special = []
for i in range(m + 1, n - 1):
    if a <= x[i] <= b and abs(x[i] - x[i + 1]) <= k:
        special.append(x[i])

print(1 + sum(v > max(special) for v in x), len(special))