/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 532.0 KiB
#2 Accepted 16ms 580.0 KiB
#3 Accepted 14ms 584.0 KiB
#4 Accepted 12ms 532.0 KiB
#5 Accepted 12ms 532.0 KiB
#6 Accepted 13ms 532.0 KiB
#7 Accepted 4ms 532.0 KiB
#8 Accepted 4ms 580.0 KiB
#9 Accepted 16ms 1.277 MiB
#10 Accepted 16ms 1.148 MiB
#11 Accepted 5ms 788.0 KiB
#12 Accepted 15ms 1.773 MiB
#13 Accepted 10ms 1.281 MiB
#14 Accepted 5ms 788.0 KiB

Code

#include<bits/stdc++.h>
using ll = long long;
using ld = long double;
#define pb push_back
#define ppb pop_back
#define vi vector<int>
#define vll vector<long long>
#define all(v) v.begin(),v.end()
#define rall(v) v.rbegin(),v.rend()
#define pii pair<int,int>
#define pll pair<ll,ll>
#define F first
#define S second
#define full(n) getline(cin,n)
#define IstiaqModeOn ios::sync_with_stdio(0); cin.tie(0);
using namespace std;
int main()
{
    IstiaqModeOn;
    int t;
    ll i;
    ll N,K;
    vi v;
    string text;
    cin >> t;
    while(t--)
    {
        cin >> N >> K;
        cin >> text;
        int count = 0;
        for(i=0; i<text.length(); i++)
        {
            if(text[i]=='1')count++;
            else
            {
                //cout << count << " ";
                v.pb(count);
                count = 0;
            }
        }
        if(text[i-1]=='1')v.pb(count);
        ll answer;
        sort(rall(v));
        answer = v[0];
        v[0] = 0;
        sort(rall(v));
        for(int i=0; i<K; i++)
        {
            if(i==v.size())break;
            answer = answer + v[i];
        }
        cout << answer << "\n";
        v.clear();
    }
}



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:39:16
Judged At
2025-02-17 15:39:16
Judged By
Score
100
Total Time
16ms
Peak Memory
1.773 MiB