/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 540.0 KiB
#2 Accepted 21ms 552.0 KiB
#3 Accepted 20ms 724.0 KiB
#4 Accepted 9ms 556.0 KiB
#5 Accepted 8ms 540.0 KiB
#6 Accepted 7ms 796.0 KiB
#7 Accepted 5ms 772.0 KiB
#8 Accepted 9ms 696.0 KiB
#9 Accepted 8ms 1.027 MiB
#10 Accepted 8ms 932.0 KiB
#11 Accepted 5ms 832.0 KiB
#12 Accepted 6ms 932.0 KiB
#13 Accepted 8ms 1.332 MiB
#14 Accepted 6ms 788.0 KiB

Code

// I AM A MUSLIM

#include "bits/stdc++.h"

#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")

#define fast_io std::ios::sync_with_stdio(0);std::cin.tie(0)
#define lli long long int
#define flush fflush(stdout)
#define line printf("\n")
#define yn(a, b) printf("%s\n", (a) >= (b) ? "Yes":"No")
#define amodm(a, M) (((a)%M+M)%M)
// #define int lli

using pii = std::pair<int,int>;

const int MOD = 1000000007;
const int mxN = 500100;

signed main() {
    int testCases=1;
    scanf("%d",&testCases);
    
    for (int TC = 1; TC <= testCases; TC++) {
        int n;
        scanf("%d",&n);
        int k;
        scanf("%d",&k);
        std::string s; std::cin >> s;
        int cur = 0;
        std::vector<int> a;
        for (auto &c : s) {
            if (c == '0') {
                if (cur) a.push_back(cur);
                cur = 0;
            } else cur++;
        }
        if (cur) a.push_back(cur);
        
        sort(a.begin(), a.end());
        reverse(a.begin(), a.end());
        
        int ans = 0;
        k++;
        for (int i = 0; i < a.size(); i++) {
            ans += a[i];
            k--;
            if (k == 0) break;
        }
        
        printf("%d\n", ans);
        
    }
    
    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:18:54
Judged At
2025-02-17 15:18:54
Judged By
Score
100
Total Time
21ms
Peak Memory
1.332 MiB