/ SeriousOJ /

Record Detail

Wrong Answer


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 332.0 KiB
#2 Wrong Answer 17ms 540.0 KiB
#3 Wrong Answer 20ms 552.0 KiB

Code

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

int main() {
    int t; cin >> t;
    while (t--) {
        int n; ll k; cin >> n >> k;
        string S; cin >> S;

        vector<int> ones;
        int currentSum = 0;
        for (int i = 0; i < n; i++) {
            if (S[i] == '1') {
                currentSum++;
            } else {
                if (currentSum > 0) {
                    ones.push_back(currentSum);
                    currentSum = 0;
                }
            }
        }
        if (currentSum > 0) {
            ones.push_back(currentSum);
        }

        int windowSum = 0, ans = 0;
        int r = min((int)ones.size(), (int)k+1);
        for (int i = 0; i < r; i++) {
            windowSum += ones[i];
        }
        ans = windowSum;

        for (int i = r; i < (int)ones.size(); i++) {
            windowSum += ones[i] - ones[i - r];
            ans = max(ans, windowSum);
        }

        cout << ans << endl;
    }

    return 0;
}

Information

Submit By
Type
Submission
Problem
P1159 Binary String
Contest
Brain Booster #8
Language
C++17 (G++ 13.2.0)
Submit At
2025-02-17 15:29:17
Judged At
2025-02-17 15:29:17
Judged By
Score
0
Total Time
20ms
Peak Memory
552.0 KiB