/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 2ms 540.0 KiB
#2 Accepted 9ms 576.0 KiB
#3 Accepted 11ms 572.0 KiB
#4 Accepted 6ms 568.0 KiB
#5 Accepted 5ms 540.0 KiB
#6 Accepted 5ms 672.0 KiB
#7 Accepted 3ms 540.0 KiB
#8 Accepted 3ms 752.0 KiB
#9 Accepted 6ms 976.0 KiB
#10 Accepted 6ms 972.0 KiB
#11 Accepted 3ms 840.0 KiB
#12 Accepted 3ms 892.0 KiB
#13 Accepted 4ms 1.25 MiB
#14 Accepted 3ms 796.0 KiB

Code

// Created on: 2025-02-17 20:44
// Author: Safwan_Ibrahim

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

#define ll long long
#define endl '\n'

void solve() {
    int n, k; cin >> n >> k;
    string S; cin >> S;
    vector<int>A;

    int cnt = 0;
    for (int i = 0; i < n; i++) {
        char x = S[i];
        if (x == '1') {
            cnt++;
        }
        else {
            if (cnt) {
                A.push_back(cnt);
            }
            cnt = 0;
        }
        if (i == n - 1 && cnt) {
            A.push_back(cnt);
        }
    }

    sort(A.rbegin(), A.rend());

    ll sum = 0;
    if (A.size() > 0) {
        sum += A[0];
    } 
    for (int i = 1; i < (int)A.size(); i++) {
        if (k <= 0) {
            break;
        }
        sum += A[i];
        k--;
    }

    cout << sum << endl;
    
}

int32_t main() {
    ios_base::sync_with_stdio(0);cin.tie(0);

    int t = 1; cin >> t;
    for (int i = 1; i <= t; i++) {
        solve();
    }
    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 14:55:37
Judged At
2025-02-17 14:56:26
Judged By
Score
100
Total Time
11ms
Peak Memory
1.25 MiB