На python
завтра студенты первого курса пойдут сдавать анализ. экзамен будет принимать профессор ильдар.
экзамен будет проходить по старинке: студенты по одному подходят к профессору, отвечают на заданные им вопросы и получают свои оценки. результат экзамена сильно зависит от настроения профессора ильдара: если у него плохое настроение, то не важно, насколько хорошо вы подготовились, – он отправит вас на пересдачу.
пусть настроение профессора в некоторый момент времени равно xx. после ответов отличника настроение профессора повышается и становится равно x + 1x+1. после ответов хорошиста настроение профессора не меняется. а если ответы явно не тянут на оценку 44, то профессор ставит 33 и его настроение падает до x - 1x−1.
но если завтра в какой-либо момент времени настроение профессора будет равно отрицательному числу, то после этого момента описанные выше закономерности перестают действовать и все студенты, что ещё не получили своих оценок, отправляются на пересдачу.
сегодня вы (неожиданно) – староста группы и хотите, чтобы никто из ваших студентов не отправился на пересдачу. порядок, в котором студенты будут подходить к профессору, уже сформирован и его изменить нельзя, но вы знаете, насколько хорошо подготовился каждый из студентов, и знаете про профессора ильдара ещё одну вещь – он любит шоколад.
вы можете купить шоколадку (а лучше не одну) и подарить её профессору сегодня вечером. каждая подаренная профессору шоколадка повышает его настроение на 11. что профессор делает с шоколадками, никому не известно.
какое минимальное количество шоколадок вам надо сегодня подарить профессору, чтобы завтра все студенты сдали экзамен?
формат входных данных
в первой строке вводятся два целых числа nn и kk (1 \le n \le 2 \cdot 10^{5}, -10^{9} \le k \le 10^{9})(1≤n≤2⋅10
5
,−10
9
≤k≤10
9
) – количество студентов в вашей группе и настроение профессора сегодня вечером (настроение профессора до начала экзамена может измениться только вам).
во второй строке вводится строка из nn символов a_ia
i
(a_i \in \{a, b, c\})(a
i
∈{a,b,c}). эта строка описывает порядок, в котором студенты будут подходить к профессору. каждый студент описывается одним символом. символом aa обозначается отличник, символом bb – хорошист, символом cc – троечник или неподготовившийся к экзамену студент.
Во-вторых, цикл с предусловием(while) выполняется только тогда, когда его условие возвращает ложь. Если условие возвращает правду, цикл завершается. Бывает так, что при попытке первой итерации цикла условие уже возвращает правду. В этом случае цикл не будет выполнен ни разу.
Цикл с предусловием(repeat), наоборот, выполняется, пока условие возвращает правду и завершается ложью. Стоит заметить, что если цикл с предусловием проверяет своё условие перед итерацией, цикл с постусловием делает это после, а это значит, что последний выполнится хотя бы один раз.
По условию:
abc
+ abc
bca
Понятно, что максимальным число будет, если сложение в двух младших разрядах идет через перенос -> получим систему уравнений:
2c = a +16
2b +1 = c + 16
2a + 1 = b
равносильная ей система
2с = a + 16
c = 2b - 15
b = 2a + 1
подставляем третье во второе, получаем первые два уравнения
2с = a + 16
c = 4a - 13 из этих двух уравнений -> 7a = 42 -> a = 6 -> из третьего уравнения b = 13
13 = D(16), из первого уравнения с = 22/2 = 11(10) = B(16)
-> abc(16) = 6DB(16) = 1755(10), DB6(16) = 3510(10) -> 2abc = bca