Задача к ЕГЭ по информатике на тему «Количество строк, удовлетворяющих условию» №1

В файле электронной таблицы в каждой строке содержатся шесть натуральных чисел. Определите количество строк таблицы, для которых выполнены оба условия:

– сумма трех наименьших чисел в строке больше среднего арифметического максимальных чисел всех строк;

– сумма трех наибольших чисел в строке больше суммы двух наибольших чисел в файле.

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

Решение Excel:

Для начала выводим с каждой строчки максимальное число в отдельном столбце. В соседней ячейке сохраняем среднее арифметическое всех этих чисел.

Затем проверяем строку на условия.

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

PIC

PIC

PIC

PIC

PIC

PIC

Решение программой:

f = open(’9.txt’, ’r’)
lines = [list(map(int, line.split())) for line in f]
f.close()

# Считаем среднее арифметическое максимальных чисел
max_values = [max(line) for line in lines]
avg_max = sum(max_values) / len(max_values)

# Считаем два максимальных числа в файле
max_sum = sum(sorted(max_values, reverse=True)[:2])

count = 0
min_sum = float(’inf’)

for line in lines:
    sorted_line = sorted(line)
    sum_of_three_min = sum(sorted_line[:3])
    sum_of_three_max = sum(sorted_line[3:])

    if sum_of_three_min > avg_max and sum_of_three_max > max_sum:
        count += 1
        min_sum = min(min_sum, sum(line))

print(count, min_sum)

Ответ: 1284 57361
Оцените статью
Я решу все!