/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 532.0 KiB
#2 Accepted 7ms 532.0 KiB
#3 Accepted 11ms 532.0 KiB
#4 Accepted 7ms 532.0 KiB
#5 Accepted 6ms 600.0 KiB
#6 Accepted 7ms 804.0 KiB
#7 Accepted 3ms 532.0 KiB
#8 Accepted 3ms 696.0 KiB
#9 Accepted 20ms 1.773 MiB
#10 Accepted 20ms 1.742 MiB
#11 Accepted 7ms 832.0 KiB
#12 Accepted 7ms 792.0 KiB
#13 Accepted 24ms 3.051 MiB
#14 Accepted 5ms 788.0 KiB

Code

/*
    BISMILLAHIR RAHMANIR RAHIM
*/
#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<pair<char,int>> conse;
    conse.push_back({s[0],1});
    int cnt=0;
    for(int i=1;i<n;i++)
    {
       if(conse.back().first==s[i])
       {
        conse.back().second++;
       }
       else{
        conse.push_back({s[i],1});
       }
    }
    vector<int> ones;
    for(auto it:conse)
    {
        if(it.first=='1')
        {
            ones.push_back(it.second);
        }
    }
    sort(ones.rbegin(),ones.rend());
    if(k>=ones.size())
    {
        int ans=0;
        for(auto it:ones)
        {
            ans+=it;
        }
        cout<<ans<<endl;
    }
    else{
        int ans=0;
        for(int i=0;i<=k;i++)
        {
            ans+=ones[i];
        }
        cout<<ans<<endl;
    }
}
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int t=1;
    cin>>t;
    while(t--)
    {
      solve();
    }
    return 0;
}

Information

Submit By
Type
Submission
Problem
P1159 Binary String
Language
C++17 (G++ 13.2.0)
Submit At
2025-02-17 18:41:51
Judged At
2025-02-17 18:41:51
Judged By
Score
100
Total Time
24ms
Peak Memory
3.051 MiB