Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define int long long
- const long long INF = 1e9 + 7;
- const int MAXN = 200 + 10;
- const int N = 1e5 + 10;
- int Sum(int a1, int n, int d) {
- return (2 * a1 + d * (n - 1)) * n / 2;
- }
- signed main() {
- ios_base::sync_with_stdio(false);
- cin.tie(nullptr);
- cout.tie(nullptr);
- int n, c;
- cin >> n >> c;
- string s;
- cin >> s;
- vector<int> sum_a(n + 1, 0), sum_b(n + 1, 0);
- for (int i = 0; i < n; ++i) {
- sum_a[i + 1] = sum_a[i] + (s[i] == 'a' ? 1 : 0);
- sum_b[i + 1] = sum_b[i] + (s[i] == 'b' ? 1 : 0);
- }
- int cost = 0, ans = 0;
- int l = 0;
- for (int r = 0; r < n; ++r) {
- if (s[r] == 'b') {
- cost += sum_a[r + 1] - sum_a[l];
- }
- while (cost > c && l <= r) {
- if (s[l] == 'a') {
- cost -= sum_b[r + 1] - sum_b[l];
- }
- ++l;
- }
- ans = max(ans, r - l + 1);
- }
- cout << ans << '\n';
- }
Advertisement
Add Comment
Please, Sign In to add comment