?
№ | Отправитель | Задача | Язык | Вердикт | Время | Память | Отослано | Протест. | |
---|---|---|---|---|---|---|---|---|---|
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; }
?
?
?
?