Основное
 
 
Отправитель Задача Язык Вердикт Время Память Отослано Протест.  
241063960 Дорешивание:
hritikritesh
1385D - 16 C++17 (GCC 7-32) Полное решение 124 мс 692 КБ 2024-01-10 17:11:22 2024-01-10 17:11:22
→ Исходный код
#include <bits/stdc++.h>
#define MAXN 131073
#define int long long int
using namespace std;

int n, t;
char s[MAXN];

int count(int l, int r, int x)
{
    int cont = 0;
    for (int i = l; i < r; i++)
        if (s[i] == x)
            cont++;
    return cont;
}

int calc(int l, int r, char x)
{
    if (r - l == 1)
        return (s[l] == x ? 0 : 1);

    int mid = (l + r) >> 1, half = (r - l) >> 1;

    int cntl = half - count(l, mid, x) + calc(mid, r, x + 1);
    int cntr = half - count(mid, r, x) + calc(l, mid, x + 1);
    return min(cntl, cntr);
}

signed main()
{
    // ios_base::sync_with_stdio(0);
    // cin.tie(0);
    cin >> t;
    while (t--)
    {
        cin >> n;
        cin >> s;
        cout << calc(0, n, 'a') << "\n";
    }
    return 0;
}
?
Время: ? ms, память: ? КБ
Вердикт: ?
Ввод
?
Вывод участника
?
Ответ жюри
?
Комментарий чекера
?
Диагностика
?
Показать детали тестирования