Настроение профессора

Все персонажи и описываемые события являются вымышленными. Любое совпадение с реальными людьми или событиями случайно.

Завтра студенты первого курса пойдут сдавать математический анализ. Экзамен будет принимать профессор Ильдар.

Экзамен будет проходить по старинке: студенты по одному подходят к профессору, отвечают на заданные им вопросы и получают свои оценки. Результат экзамена сильно зависит от настроения профессора Ильдара: если у него плохое настроение, то не важно, насколько хорошо вы подготовились, – он отправит вас на пересдачу.

Пусть настроение профессора в некоторый момент времени равно x. После ответов отличника настроение профессора повышается и становится равно x+1. После ответов хорошиста настроение профессора не меняется. А если ответы явно не тянут на оценку 4, то профессор ставит 3 и его настроение падает до x−1.

Но если завтра в какой-либо момент времени настроение профессора будет равно отрицательному числу, то после этого момента описанные выше закономерности перестают действовать и все студенты, что ещё не получили своих оценок, отправляются на пересдачу.

Сегодня вы (неожиданно) – староста группы и хотите, чтобы никто из ваших студентов не отправился на пересдачу. Порядок, в котором студенты будут подходить к профессору, уже сформирован и его изменить нельзя, но вы знаете, насколько хорошо подготовился каждый из студентов, и знаете про профессора Ильдара ещё одну вещь – он любит шоколад.

Вы можете купить шоколадку (а лучше не одну) и подарить её профессору сегодня вечером. Каждая подаренная профессору шоколадка повышает его настроение на 1. Что профессор делает с шоколадками, никому не известно.

Какое минимальное количество шоколадок вам надо сегодня подарить профессору, чтобы завтра все студенты сдали экзамен?

Формат входных данных

В первой строке вводятся два целых числа n и k (1≤n≤1000,−109≤k≤109) – количество студентов в вашей группе и настроение профессора сегодня вечером (настроение профессора до начала экзамена может измениться только благодаря вам).

Во второй строке вводится строка из n символов ai (ai∈{A,B,C}). Эта строка описывает порядок, в котором студенты будут подходить к профессору. Каждый студент описывается одним символом. Символом A обозначается отличник, символом B – хорошист, символом C – троечник или неподготовившийся к экзамену студент.

Формат выходных данных

Выведите одно целое число – искомое минимальное количество шоколадок.

Sample Input 1:

3 0

BCA

Sample Output 1:

1

Sample Input 2:

3 3

AAA

Sample Output 2:

моя попытка, выдаёт ошибку на третьем тесте

C++Выделить код

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50

#include <cmath>
#include <iostream>
using namespace std;
 
 
int main()
{
    long long n, k,g;
    g=0;
    char a;
    cin>>n>>k;
     if(k<0)
        {
            while(k!=0)
            {
                k++;
                g++;
            }
        }
    for(int i=0;i<n;i++)
    {
        if(k<0)
        {
            while(k!=0)
            {
                k++;
                g++;
            }
        }
        cin>>a;
        if(a=='B')
        {
            k--;
        }
        if(k<0)
        {
            while(k!=0)
            {
                k++;
                g++;
            }
        }
        if(a=='A')
        {
            k++;
        }
 
    }
    cout<<g;
}