Вариант 2 ЕГЭ по информатике

27 заданий по образцу ФИПИ. Впишите ответы и нажмите «Проверить вариант» — баллы посчитаются сразу.

К проверкеВариант 1
11 балл
В таблице содержатся сведения о дорогах между населёнными пунктами (звёздочка означает, что дорога между соответствующими городами есть).На рисунке справа та же схема дорог изображена в виде графа.
Рисунок к заданию 1
Так как таблицу и схему рисовали независимо друг от друга, то нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе. Определите номера населённых пунктов Б и В в таблице. В ответе напишите два числа без разделителей: сначала для пункта Б, затем для пункта В.
Показать ответ
17
21 балл
Логическая функция F задаётся выражением
¬x \/ y \/ (¬z /\ w).
На рисунке приведён фрагмент таблицы истинности функции F, содержащий все наборы аргументов, при которых функция F ложна.
F
01000
01100
11100
Определите, какому столбцу таблицы соответствует каждая из переменных w, x, y, z.

В ответе напишите буквы w, x, y, z в том порядке, в котором идут соответствующие им столбцы (сначала буква, соответствующая первому столбцу; затем буква, соответствующая второму столбцу, и т.д.). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.

Пример. Функция F задана выражением ¬x \/ y, зависящим от двух переменных, а фрагмент таблицы имеет следующий вид.
F
010
В этом случае первому столбцу соответствует переменная y, а второму столбцу — переменная x. В ответе следует написать: yx.
Показать ответ
wxzy
31 балл
В файле приведён фрагмент базы данных «Продукты» о поставках товаров в магазины районов города.

База данных состоит из трёх таблиц.

Таблица «Движение товаров» содержит записи о поставках товаров в магазины в течение первой декады июня 2025 г., а также информацию о проданных товарах. Поле Тип операции содержит значение Поступление или Продажа, а в соответствующее поле Количество упаковок внесена информация о том, сколько упаковок товара поступило в магазин или было продано в течение дня. Заголовок таблицы имеет следующий вид.
ID операцииДатаID магазинаАртикулТип операцииКоличество упаковокЦена


Таблица «Товар» содержит информацию об основных характеристиках каждого товара. Заголовок таблицы имеет следующий вид.
АртикулОтделНаименованиеЕдиница измеренияКоличество в упаковкеПроизводитель


Таблица «Магазин» содержит информацию о местонахождении магазинов. Заголовок таблицы имеет следующий вид.
ID магазинаРайонАдрес


На рисунке приведена схема указанной базы данных.
Рисунок к заданию 3
Используя информацию из приведённой базы данных, определите общий вес (в кг) крахмала картофельного, поступившего в магазины Октябрьского района за период с 1 по 8 июня включительно. В ответе запишите только число.
3_614BFD.ods
Показать ответ
445
41 балл
Для кодирования некоторой последовательности, состоящей из букв A, B, C, D, E, F, решили использовать неравномерный двоичный код, удовлетворяющий условию Фано. Для буквы A использовали кодовое слово 0; для буквы B – кодовое слово 10. Какова наименьшая возможная сумма длин всех шести кодовых слов?
Примечание. Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова. Это обеспечивает возможность однозначной расшифровки закодированных сообщений.
Показать ответ
19
51 балл
На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1. Строится троичная запись числа N.
2. Далее эта запись обрабатывается по следующему правилу:
а) если число N делится на 3, то к этой записи дописываются две последние троичные цифры;
б) если число N на 3 не делится, то остаток от деления умножается на 5, переводится в троичную запись
и дописывается в конец числа.
Полученная таким образом запись является троичной записью искомого числа R.
3. Результат переводится в десятичную систему и выводится на экран.

Например, для исходного числа 910 = 1003 результатом является число 100003 = 8110, а для исходного числа 1410 = 1123 результатом является число 1121013 = 38810.

Укажите минимальное число N, после обработки которого с помощью этого алгоритма получается число R, не меньшее 805.
В ответе запишите это число в десятичной системе счисления.
Показать ответ
32
61 балл
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 5 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперёд n (где n – целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Назад n (где n – целое число), вызывающая передвижение в противоположном голове направлении; Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке, Налево m (где m – целое число), вызывающая изменение направления движения на m градусов против часовой стрелки. Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.

Черепахе был дан для исполнения следующий алгоритм:

Повтори 2 [Вперёд 5 Налево 90 Назад 13 Налево 90]

Поднять хвост

Назад 10 Направо 90 Вперёд 9 Налево 90

Опустить хвост

Повтори 2 [Вперёд 11 Направо 90 Вперёд 7 Направо 90]

Определите, сколько точек с целочисленными координатами будут находиться внутри объединения фигур, ограниченного заданными алгоритмом линиями, включая точки на линиях.
Показать ответ
170
71 балл
Виталий фотографирует интересные места и события с помощью своего смартфона. Каждая фотография представляет собой растровое изображение размером 3840×1440 пикселей, при этом используется палитра из 225 цветов. В конце дня Виталий отправляет снимки друзьям с помощью приложения-мессенджера. Для экономии трафика приложение оцифровывает снимки повторно, используя размер 800×600 пикселей и глубину цвета 12 бит. Сколько Кбайт трафика экономится при передаче 120 фотографий? В ответе укажите целую часть полученного числа.
Показать ответ
1940625
81 балл
Все пятибуквенные слова, в составе которых могут быть только русские буквы З, Е, Б, Р, А, записаны в алфавитном порядке и пронумерованы начиная с 1.
Ниже приведено начало списка.
1. ААААА
2. ААААБ
3. ААААЕ
4. ААААЗ
5. ААААР
6. АААБА
…

Под каким номером стоит слово ЗРЕЗЗ?
Показать ответ
2444
91 балл
Задание выполняется с использованием прилагаемых к заданию файлов.
Откройте файл электронной таблицы, содержащей вещественные числа – результаты метеорологических измерений в течение первого полугодия 2019 года. Найдите разность между средними значениями среднесуточной температуры (°С) воздуха в мае и феврале, используя данные, представленные в таблице.
В ответе запишите только целую часть получившегося числа.
307_9_0AE210.xlsx
Показать ответ
25
Подсказки (3)
  1. Какая функция электронной таблицы вычисляет среднее арифметическое значений диапазона?
  2. Для каждого месяца примените функцию СРЗНАЧ к диапазону его среднесуточных температур, затем вычтите среднее значение февраля из среднего значения мая.
  3. Разность средних температур для мая и февраля имеет целую часть 25.
Решение
1. В электронной таблице выделяем диапазон значений среднесуточной температуры за май и вычисляем его среднее арифметическое с помощью функции СРЗНАЧ.

2. Аналогично вычисляем среднее значение среднесуточной температуры за февраль.

3. Вычитаем среднее значение февраля из среднего значения мая и оставляем только целую часть результата.
Частые ошибки
  • Перепутать месяцы при вычислении разности.
  • Вычислить среднее по всем данным первого полугодия вместо отдельных диапазонов мая и февраля.
  • Записать дробную часть результата.
101 балл
В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и его маске.

Широковещательным адресом называется специализированный адрес, в котором на месте нулей в маске стоят единицы. Адрес сети и широковещательный адрес не могут быть использованы для адресации сетевых устройств.

Сеть задана IP-адресом одного из входящих в неё узлов 121.51.134.115 и сетевой маской 255.248.0.0.

Найдите IP-адрес сети. В ответе укажите сумму числовых значений октетов найденного IP-адреса.

Например, если бы найденный адрес был равен 100.20.3.4, то в ответе следовало бы записать: 127.
Показать ответ
169
Подсказки (3)
  1. Какой диапазон значений второго октета соответствует маске 255.248.0.0?
  2. Маска 255.248.0.0 задаёт размер блока второго октета, равный 256−248=8.
  3. Октет 51 относится к диапазону 48–55, поэтому адрес сети — 121.48.0.0. Сложите его октеты.
Решение
1. Маска 255.248.0.0 означает, что первые 13 бит IP-адреса относятся к адресу сети. Размер блока второго октета равен:
256−248=8

2. Второй октет адреса узла равен 51. Ближайшее меньшее или равное ему начало блока размера 8 — это 48.
48≤51<56

3. Остальные октеты адреса сети обнуляются, поэтому адрес сети равен 121.48.0.0.
121.51.134.115&255.248.0.0=121.48.0.0

4. Находим сумму числовых значений октетов адреса сети.
121+48+0+0=169
Частые ошибки
  • Округляют второй октет 51 вверх до 56 вместо выбора начала диапазона.
  • Не обнуляют третий и четвёртый октеты адреса сети.
  • Складывают октеты исходного IP-адреса, а не найденного адреса сети.
111 балл
В некоторой стране автомобильный номер длиной 4 символов составляют из заглавных букв (используется 26 различных букв) и любых десятичных цифр. Буквы с цифрами могут следовать в любом порядке.
Каждый такой номер в компьютерной программе записывается минимально возможным и одинаковым целым количеством байт (при этом используют посимвольное кодирование и все символы кодируются одинаковым и минимально возможным количеством бит).
Определите объём памяти (в байтах), отводимый этой программой для записи 50 номеров.
Показать ответ
150
121 балл
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.

А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.

Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.

Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.

В конструкции
ЕСЛИ условие
ТО команда1
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно).
В конструкции
ЕСЛИ условие
ТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).

Определите, какие цифры будут находиться на 1-м, 2-м, 3-м местах строки, получившейся в результате применения приведённой ниже программы к строке, состоящей из 124 идущих подряд цифр 1. В ответе запишите найденные цифры подряд, без разделителей.НАЧАЛО
ПОКА нашлось (1111) ИЛИ нашлось (88888)
ЕСЛИ нашлось (1111)
ТО заменить (1111, 888)
ИНАЧЕ заменить (88888, 888)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Показать ответ
888
131 балл
Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами:

А. Вычесть 1
В. Вычесть 3
С. Найти целую часть от деления на 2

Программа для исполнителя — это последовательность команд.
Сколько существует программ, для которых при исходном числе 19 результатом является число 3, при этом траектория вычислений не содержит числа 7 и содержит 10?
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы.
Например, для программы СВА при исходном числе 13 траектория будет состоять из чисел 6, 3, 2.
Показать ответ
133
141 балл
Значение арифметического выражения 5150 + 5100 – x, где x – целое положительное число, не превышающее 2030, записали в 5-ричной системе счисления. Определите наибольшее значение x, при котором в 5-ричной записи числа, являющегося значением данного арифметического выражения, содержится ровно 50 нулей.
В ответе запишите число в десятичной системе счисления.
Показать ответ
2029
Подсказки (3)
  1. Представьте выражение как 5150+(5100−x) и учтите, что x<5100.
  2. При вычитании x из 5100 нули в разрядах от 100-го до 149-го образуют ровно 50 нулей. Поэтому среди последних 100 разрядов дополнительных нулей быть не должно.
  3. Это означает, что в записи числа x−1 в пятеричной системе не должно быть цифры 4. Проверка границы: 202910=311045, а 202810=311035.
Решение
for x in range(2030,1,-1): #перебор с конца,т.к нужен максимальный х
    a = 5**150 + 5 ** 100 - x
    k = 0
    while a>0:
        if a % 5 == 0: k +=1
        a = a//5
    if k == 50:
        print(x)
        break
Частые ошибки
  • Считать нули только в записи числа x.
  • Забыть, что при вычитании из 5100 используются цифры числа x−1.
  • Проверять условие в десятичной записи вместо пятеричной.
151 балл
Обозначим через ДЕЛ(n, m) утверждение «натуральное число n делится без остатка на натуральное число m»; пусть на числовой прямой дан отрезок B = [95; 120].

Для какого наибольшего натурального числа A логическое выражение
ДЕЛ(x, A) \/ ((x ∈ B) → ¬ДЕЛ(x, 12))
истинно (т.е. принимает значение 1) при любом целом положительном значении переменной x?
Показать ответ
12
161 балл
Ниже приведены две рекурсивные функции F и G на языке Python.

def F(n):
if n > 0:
G(n - 1)

def G(n):
print("*")
if n > 1:
F(n - 2)


Сколько символов «звёздочка» будет напечатано на экране при выполнении вызова F(13)?
Показать ответ
5
Подсказки (3)
  1. Каждый вызов G печатает ровно один символ «*». С каким аргументом вызывается следующий F после F(n)?
  2. Цепочка аргументов вызовов функции F уменьшается на 3: F(13)→F(10)→F(7)→F(4)→F(1).
  3. Каждый из пяти вызовов F порождает вызов G, поэтому печатается по одному символу: 5 символов.
Решение
1. При вызове F(n), если n>0, выполняется вызов G(n−1). Функция G печатает одну звёздочку и при аргументе больше 1 вызывает F(n−3) относительно исходного аргумента F.
F(n)→G(n−1)→F(n−3)

2. Последовательность вызовов функций F имеет вид:
F(13)→F(10)→F(7)→F(4)→F(1)

3. Каждый из этих пяти вызовов F вызывает функцию G, которая печатает одну звёздочку. После вызова G(0) дальнейший вызов F не выполняется.
1+1+1+1+1=5
Частые ошибки
  • Учитывают только вызовы G с аргументом больше 1 и не считают вызов G(0).
  • Уменьшают аргумент следующего вызова F на 2 вместо 3.
171 балл
В файле содержится последовательность целых чисел. Её элементы могут принимать целые значения от -100 000 до 100 000 включительно. Определите количество пар последовательности, в которых элементы не равны, а абсолютное значение их разности делится на минимальный положительный элемент последовательности, кратный 33. Гарантируется, что такой элемент последовательности есть. ответе запишите количество найденных пар, затем максимальную из сумм элементов таких пар.
В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
17_31124.txt
Показать ответ
33 164160
181 балл
Квадрат разлинован на NxN клеток (1 < N < 30). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз – в соседнюю нижнюю.

Квадрат ограничен внешними стенами. Между соседними клетками квадрата также могут быть внутренние стены. Сквозь стену Робот пройти не может. Перед каждым запуском Робота в каждой клетке квадрата лежит монета достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клеткам маршрута Робота.

Определите максимальную и минимальную денежные суммы, которые может собрать Робот, пройдя из левой верхней клетки в правую нижнюю. В ответе укажите два числа – сначала максимальную сумму, затем минимальную.

Исходные данные представляют собой электронную таблицу размером NxN, каждая ячейка которой соответствует клетке квадрата. Внутренние и внешние стены обозначены утолщенными линиями.
18_3580.xlsx
Показать ответ
2666 1720
191 балл
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может:
– добавить в одну из куч (по своему выбору) 4 камня;
– увеличить количество камней в одной из куч (по своему выбору) в 2 раза.
Например, пусть в одной куче 20 камней, а в другой 30 камней; такую позицию в игре обозначим (20, 30). Тогда за один ход можно получить любую из четырёх позиций: (24, 30), (20, 34), (40, 30), (20, 60). Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней. Игра завершается в тот момент, когда суммарное количество камней в двух кучах становится не менее 133. Победителем считается игрок, сделавший последний ход, то есть первым получивший такую игровую позицию, при которой в двух кучах суммарно 133 камня или больше. В начальный момент в первой куче было 17 камней, во второй куче – S камней; 1 ≤ S ≤ 115.
Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Известно, что Ваня выиграл своим первым ходом. Укажите минимальное значение S, при котором такая ситуация возможна.
Показать ответ
29
201 балл
Для игры, описанной в задании 19, найдите два наименьших значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
– Петя не может выиграть за один ход;
– Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
Найденные значения запишите в ответе в порядке возрастания.
Показать ответ
28 48
211 балл
Для игры, описанной в задании 19, найдите наименьшее значение S, при котором одновременно выполняются два условия:
– у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;
– у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.
Показать ответ
44
221 балл
В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы могут выполняться только последовательно.

Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор процесса (ID), во втором столбце таблицы — время его выполнения в миллисекундах, в третьем столбце перечислены с разделителем «;» ID процессов, от которых зависит данный процесс. Если процесс является независимым, то в таблице указано значение 0.

Типовой пример организации данных в файле:
ID процесса BВремя выполнения процесса B (мс)ID процесса(-ов) A
140
230
311; 2
473


Определите минимальное время, через которое завершится выполнение всей совокупности процессов, при условии, что все независимые друг от друга процессы могут выполняться параллельно.

Типовой пример имеет иллюстративный характер. Для выполнения задания используйте данные из прилагаемого файла.
22_3E352F.xlsx
Показать ответ
53
231 балл
В текстовом файле содержится описание ациклического ориентированного взвешенного графа. В каждой строке файла записаны два натуральных числа (L, M) и одно положительное вещественное число (W). L и M – номера вершин графа, W – вес ребра, ведущего из вершины L в вершину M. Таким образом, количество строк в файле равно количеству рёбер в графе. Две вершины графа не могут быть соединены более чем одним ребром.
Найдите и запишите в ответе целую часть длины кратчайшего пути из вершины с номером 1 в вершину с номером 100. Существование хотя бы одного такого пути гарантируется. Под длиной кратчайшего пути понимается минимальная сумма весов рёбер, составляющих путь.
Для выполнения этого задания следует написать программу.
Вершины графа могут быть пронумерованы не подряд. L ≤ 1000, M ≤ 1000; W ≤ 10 000. Количество строк в файле не превосходит 200. Числа в строках разделены произвольным ненулевым количеством пробелов и/или табуляций.

Типовой пример организации данных во входном файле для графа на рисунке.
Рисунок к заданию 23
100 12 1.0
6 7 7.0
6 1 1.0
1 7 5.5
7 100 2.0
4 100 8.0
1 100 12.0
1 4 2.5
Для приведённого примера верным ответом будет 7.
Типовой пример имеет иллюстративный характер. Для выполнения задания используйте данные из прилагаемого файла
23_31518.txt
Показать ответ
10971
Решение
1. from collections import defaultdict
from functools import *
d = defaultdict(list)

for s in open('demo_23.txt'):
frm, to, w = [float(x) for x in s.split()]
d[frm].append([to,w])

@lru_cache(None)
def f(curr,end):
if curr==end: return 0
if curr not in d: return 10**8
return min(w+f(to,end) for to,w in d[curr])

print(f(1,100))
241 балл
Задание выполняется с использованием прилагаемых файлов.
Текстовый файл состоит из цифр 0, 2, 3, 4, 5 и знаков арифметических операций «–» и «*» (вычитание и умножение). Определите максимальное количество символов в непрерывной последовательности, которая является корректным арифметическим выражением с целыми неотрицательными числами. В этом выражении никакие два знака арифметических операций не стоят рядом, в записи чисел отсутствуют незначащие (ведущие) нули и число 0 не имеет знака.
В ответе укажите количество символов.
349_24_CF38C4.txt
Показать ответ
569
251 балл
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:

– символ «?» означает ровно одну произвольную цифру;

– символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.

Например, маске 123*4?5 соответствуют числа 123405 и 12300405.

Среди натуральных чисел, не превышающих 108 , найдите все числа, соответствующие маске 1234*7, делящиеся на 141 без остатка.

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

Количество строк в таблице для ответа избыточно.
Пары запишите в одну строку: пары — через точку с запятой, числа в паре — через тире. Например: 12 — 3; 20 — 5.
Показать ответ
1234737 — 8757; 12341307 — 87527; 12342717 — 87537; 12344127 — 87547; 12345537 — 87557; 12346947 — 87567; 12348357 — 87577; 12349767 — 87587
262 балла
В магазине продаётся N товаров нескольких артикулов. Товары одного артикула имеют одинаковую цену. Учёт товаров ведётся поштучно, для каждой единицы товара известен её текущий статус: продана или нет. Товары разделены на две категории: дорогие и дешёвые. Дорогими считаются товары, цена на которые превышает среднюю цену всех товаров в базе данных магазина без учёта их текущего статуса. Остальные товары считаются дешёвыми.
Лидером продаж называется товар с таким артикулом, наибольшее количество единиц которого продано. Лидер продаж выбирается среди дорогих товаров. Если продано одинаковое количество дорогих товаров с разными артикулами, лидером выбирается товар с наибольшей ценой. Если и таких товаров несколько, лидер продаж — тот из них, которого осталось меньше всего.
Найдите суммарную выручку магазина от реализации товара — лидера продаж, а также оставшееся количество товара с этим артикулом.
В первой строке входного файла находится число N — количество товаров в базе данных магазина, не превышающее 10 000. В каждой из следующих N строк находятся три числа: артикул товара, его цена и статус: 0, если товар уже продан, и 1, если товар ещё не продан.
Выведите два числа: сумму выручки от реализации товара — лидера продаж, а также количество товара с этим артикулом, оставшееся в магазине. Для выполнения задания используйте данные из прилагаемого файла.
Типовой пример имеет иллюстративный характер и не используется для получения ответа.
1_41E442.txt
Показать ответ
43656 36
Подсказки (3)
  1. Сначала сгруппируйте товары по артикулам и найдите среднюю цену всех записей, не учитывая статус.
  2. Для каждого артикула подсчитайте количество проданных и оставшихся единиц, а также сохраните цену. Рассматривайте только артикулы с ценой выше средней.
  3. Выберите артикул по ключу: сначала максимальное число проданных единиц, затем максимальная цена, затем минимальное число оставшихся единиц. Выручка равна произведению цены на число проданных единиц.
Решение
1. Для каждой записи накапливаем сумму цен и количество товаров. Средняя цена вычисляется как сумма всех цен, делённая на N.
среднее(p)=∑i=1NpᵢN

2. Для каждого артикула подсчитываем число проданных товаров sold, число оставшихся товаров left и сохраняем цену артикула.

3. Отбрасываем все артикулы, цена которых не превышает среднюю: дорогими являются только товары с условием price>среднее(p).

4. Среди оставшихся артикулов выбираем артикул с максимальным sold. При равенстве выбираем большую цену, а затем меньшее значение left.

5. Суммарная выручка от реализации выбранного артикула равна price⋅sold. Вторым числом выводим left.
Частые ошибки
  • Учитывают статус товара при вычислении средней цены.
  • Считают дорогими товары с ценой, равной средней.
  • Выбирают лидера среди всех товаров, а не только среди дорогих.
  • При равенстве продаж применяют критерии выбора в неправильном порядке.
  • Вычисляют выручку по количеству оставшихся товаров вместо количества проданных.
272 балла
Для участников велогонки на каждом километре кольцевой трассы с двусторонним движением установлены пункты питания. Длина кольцевой трассы равна N километров. Нулевой и N-й километры трассы находятся в одной точке. Известно количество комплектов питания в каждом из пунктов на трассе. В каждый пункт комплекты питания доставляет отдельный электрокар. Стоимость доставки питания вычисляется как произведение количества комплектов питания на расстояние от мобильного цеха их подготовки до пункта питания спортсменов на трассе. Мобильный цех подготовки комплектов расположен в одном из пунктов питания на трассе таким образом, что общая стоимость доставки из цеха во все пункты минимальна.
Определите минимальную суммарную стоимость доставки питания для спортсменов из цеха его подготовки в пункты питания на трассе.
Дано два входных файла — файл A и файл B. Каждый файл в первой строке содержит число N (1≤N≤10 000 000) — количество пунктов питания на кольцевой трассе. В следующих N строках находятся количества комплектов питания в пунктах. Все числа натуральные, количество комплектов в каждом пункте не превышает 1000. Пункты перечислены в порядке их расположения на трассе, начиная с первого километра.
В ответе укажите два числа: сначала значение искомой величины для файла A, затем для файла B. Для файла B нельзя использовать переборный алгоритм, вычисляющий сумму для всех возможных положений цеха.
1_69BBBF.zip
Показать ответ
141530; 18192010182272
Подсказки (3)
  1. Для каждого положения цеха стоимость равна сумме произведений количества комплектов на кратчайшее расстояние по кольцу.
  2. Разбейте пункты относительно выбранного положения на левую и правую части. Для быстрого вычисления сумм используйте префиксные суммы количеств комплектов и их позиций.
  3. Для каждого пункта k вычисляйте расстояния до пунктов на дугах длиной не более ⌊N/2⌋. Стоимость всех положений можно получить за O(N) после построения префиксных сумм; выберите минимальное значение.
Решение
1. Пусть пункты пронумерованы от 0 до N−1, а в пункте i находится ai комплектов. Если цех расположен в пункте k, расстояние до пункта i равно min(∣i−k∣,N−∣i−k∣).

2. Стоимость положения k равна F(k)=∑i=0N−1aimin(∣i−k∣,N−∣i−k∣). Прямой перебор всех пар имеет сложность O(N2) и не подходит для файла B.

3. Разделите кольцо относительно пункта k на дуги, расстояния на которых равны последовательным значениям 1,2,…,⌊N/2⌋. С помощью префиксных сумм ∑ai и ∑iai стоимость каждой дуги вычисляется за O(1).

4. Последовательно рассмотрите все N возможных положений цеха, вычисляя стоимость каждого положения по формулам для соответствующих циклических диапазонов. Минимальная из полученных стоимостей является ответом для одного файла.

5. Тот же алгоритм примените отдельно к файлам A и B. Его сложность составляет O(N) по времени и O(N) по памяти либо O(1) дополнительной памяти при потоковой реализации с хранением необходимых сумм.
Частые ошибки
  • Использовать обычное расстояние по прямой вместо кратчайшего расстояния по кольцу.
  • Перебирать все пары «положение цеха — пункт питания», получая сложность $O(N^2)$.
  • Забыть учесть циклический переход от пункта $N-1$ к пункту $0$.
  • Переполнить 32-битный целочисленный тип при вычислении суммарной стоимости.

Проверка варианта

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

Нужен репетитор по информатике?

Посмотрите репетиторов, которые ведут занятия в Precettore, или оставьте заявку — подберём сами.

Репетиторы по информатике

Подбор репетитора

Напишите, что нужно, — команда Precettore подберёт репетитора и свяжется с вами.

Сохраняйте результаты и разбирайте ошибки

В Precettore результаты вариантов копятся по номерам, а ошибки можно разобрать с репетитором на доске.