Пошаговый разбор для новичков. Codeforces Round 1102 (Div. 2)

Revision ru17, by specia1, 2026-06-09 16:13:27

Всем Привет!

Меня зовут Максим и я очень давно хочу достичь рейтинга 3000. Я верю, что для этого мне надо научиться мыслить, как человек, у которого уже есть 3000 рейтинга. Очень часто в разборах пишут фразы "заметим, что..." или "докажем вот такой факт..." и дальше идет долгое доказательство этого факта. А то, каким образом я должен к этому факту прийти, как эта мысль должна зародиться у меня в голове, никто нигде не пишет. Я думаю, что не только у меня есть эта проблема, поэтому вместо того, чтобы ждать понятный разбор, я решил начать с себя. Именно поэтому, я решил написать свой первый пошаговый разбор, где я буду описывать ход своих мыслей и действий, которые позволяют мне придумать эти самые идеи.

Также, я создал группу по прокачке навыков спортивного программирования для людей с рейтингом 1200- , чтобы помочь им стать лучше и достигнуть рейтинга 1500+. Если хотите больше об этом узнать, рекомендую прочитать ЭТОТ ПОСТ или заполнить ФОРМУ. Эту группу я назвал Polaris в честь путеводной звезды. В Polaris ребята решают специально подобранные контесты под их уровень, дорешивают их с помощью пошаговых разборов, изучают новую теорию, решают специально подготовленные для них подводящие упражнения, а также получают подробные рекомендации на основе их участия в тренировочных контестах. Более того, специально для участников группы я делаю пошаговые разборы тех задач, которые интересны самим участникам. Также, в группе регулярно ведется обсуждение прошедших контестов, а в ближайшем будущем мы будем готовиться к предстоящим олимпиадам (как школьным, так и студенческим). Присоединяйтесь, я буду вам очень рад!

А теперь перейдем к самому разбору контеста. Но перед этим, я бы хотел ввести несколько правил чтения разбора для того, чтобы вы смогли получить максимум пользы от него.

  1. Перед чтением разбора задачи, убедитесь, что вы прочитали задачу, подумали над ней, извлекли из своей головы и записали/нарисовали максимальное количество идей и больше уже ничего не можете придумать.
  2. Во время чтения разбора, если в какой-то момент, какое-то предложение в разборе навело вас на новую мысль, перестаньте читать разбор и вернитесь к пункту (1), а именно продолжите с этого места генерировать новые идеи. Это очень важно.
  3. Если вы дочитали текст разбора до конца и не поняли, как решать задачу или остались вопросы, то их нужно обязательно задать в комментариях или спросить в Polaris. Там вам помогут я и ребята, кто справился с этой задачей. Также в этом случае, полезно прочитать код, который будет прикреплен к разбору.
  4. После того, как вы решили задачу, обязательно посмотрите код других участников и код с разбора. Возможно, он наведет вас на мысль о том, как можно было проще и быстрее реализовать решение задачи.

A. Евклид, последовательность, два числа

Шаг 1
Шаг 2
Шаг 3

Решение: 377783495

B. Палиндром, двенадцать, два слагаемых

Шаг 1
Шаг 2
Шаг 3
Шаг 4
Шаг 5
Шаг 6
Шаг 7
Шаг 8
Шаг 9

Решение: 377783904

C. Сосуды, высоты, две версии (простая версия)

Шаг 1
Шаг 2
Шаг 3
Шаг 4
Шаг 5
Шаг 6
Шаг 7
Шаг 8
Шаг 9
Шаг 10
Шаг 11
Шаг 12

Решение: 377786075

D. Ксор, выражение, два бинарных числа

Шаг 1
Шаг 2
Шаг 3
Шаг 4
Шаг 5
Шаг 6
Шаг 7
Шаг 8
Шаг 9
Шаг 10
Шаг 11
Шаг 12
Шаг 13
Шаг 14
Шаг 15
Шаг 16
Шаг 17
Шаг 18
Шаг 19
Шаг 20

Решение: 377789921

E. Влад, Миша, два массива

Шаг 1
Шаг 2
Шаг 3
Шаг 4
Шаг 5
Шаг 6
Шаг 7
Шаг 8
Шаг 9

Решение: 377791711

F. Сосуды, высоты, две версии (сложная версия)

Шаг 1
Шаг 2
Шаг 3
Шаг 4
Шаг 5
Шаг 6
Шаг 7

Решение: 377799821

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
ru17 Russian specia1 2026-06-09 16:13:27 0 (опубликовано)
ru16 Russian specia1 2026-06-09 16:11:24 2045
ru15 Russian specia1 2026-06-09 16:02:23 2209
ru14 Russian specia1 2026-06-09 15:51:54 227
ru13 Russian specia1 2026-06-09 15:49:39 2
ru12 Russian specia1 2026-06-09 15:48:53 1015
ru11 Russian specia1 2026-06-09 15:44:00 199
ru10 Russian specia1 2026-06-09 15:42:48 1581
ru9 Russian specia1 2026-06-09 15:34:55 1070
ru8 Russian specia1 2026-06-09 15:16:05 2 Мелкая правка: ' максимумом, тогда во' -> ' максимумов, тогда во'
ru7 Russian specia1 2026-06-09 15:15:30 2250
ru6 Russian specia1 2026-06-09 14:53:39 929
ru5 Russian specia1 2026-06-09 14:49:43 697
ru4 Russian specia1 2026-06-09 14:46:44 410
ru3 Russian specia1 2026-06-09 14:44:47 176
ru2 Russian specia1 2026-06-09 14:10:21 10146
ru1 Russian specia1 2026-06-09 14:09:18 13097 Первая редакция (сохранено в черновиках)