Решение задачи "Равенство" с Codeforces

Без пояснения   Просмотров: 8


Вам дана строка s длины n, которая содержит только первые k букв латинского алфавита. Все буквы в строке s заглавные.

Строка называется подпоследовательностью строки s, если она получается удалением из s нескольких символов без изменения порядка остальных символов. Например, «ADE» и «BD» являются подпоследовательностями «ABCDE», а «DEA» — нет.

Подпоследовательность s называется хорошей, если каждая из первых k букв алфавита встречается одинаковое число раз.

Найдите длину самой длинной хорошей подпоследовательности s.

Код

#include <iostream>
using namespace std;
string a;
int n,k,i,b[30],s=1e8;
int main(){
    cin >> n >> k >> a;
    for(i = 0; i < n; i++) 
        b[a[i]-'A']++;
    for(i = 0; i < k; i++) 
        s = min(s, b[i]);
    cout << s * k;
    return 0;
}

         

 Администратор Photo Автор: Администратор


Отправить решение задачи
Чтобы отправить решение вам нужно войти в систему или зарегистрироваться

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться