/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 540.0 KiB
#2 Accepted 6ms 588.0 KiB
#3 Accepted 8ms 576.0 KiB
#4 Accepted 4ms 560.0 KiB
#5 Accepted 4ms 540.0 KiB
#6 Accepted 4ms 700.0 KiB
#7 Accepted 2ms 540.0 KiB
#8 Accepted 2ms 704.0 KiB
#9 Accepted 5ms 1.332 MiB
#10 Accepted 5ms 1.328 MiB
#11 Accepted 2ms 796.0 KiB
#12 Accepted 2ms 796.0 KiB
#13 Accepted 4ms 1.781 MiB
#14 Accepted 2ms 796.0 KiB

Code

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define all(v) v.begin(),v.end()
#define endl '\n'
#pragma GCC target("popcnt")
#define bug(...) __f (#__VA_ARGS__, __VA_ARGS__);
template <typename Arg1>void __f (const char* name, Arg1&& arg1) {cout << name << " : " << arg1 << endl;}template <typename Arg1, typename... Args>void __f (const char* names, Arg1&& arg1, Args&&... args){const char* comma = strchr (names + 1, ',');cout.write (names, comma - names) << " : " << arg1 << " | "; __f (comma + 1, args...);}

void solve(ll cs) {
    ll n, k;
    cin >> n >> k;
    string s;
    cin >> s;
    vector<ll> v;
    ll cnt=0;
    for(ll i=0; i<n; i++){
        if(s[i]=='1') cnt++;
        else{
            if(cnt) v.push_back(cnt);
            cnt = 0;        
        } 
    }
    if(cnt) v.push_back(cnt);
    sort(v.rbegin(), v.rend());    
    //for(auto u:v) cout << u << " ";
     
    //bug(v.size(), k)
    ll sz = v.size();

    ll ans = 0;
    
    if(k<sz) for(int i=0; i<=k; i++) ans += v[i];
    else for(int i=0; i<sz; i++) ans += v[i];

    cout << ans << endl;
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0), cout.tie(0);
  
    ll t=1, cs=1;
    cin>>t;
    while(t--) {
        solve(cs++);
    }

    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:51:51
Judged At
2025-02-17 14:51:51
Judged By
Score
100
Total Time
8ms
Peak Memory
1.781 MiB