Submission #6028227


Source Code Expand

// {{{
#include <algorithm>
#include <array>
#include <bitset>
#include <cassert>
#include <cmath>
#include <cstdio>
#include <iostream>
#include <iterator>
#include <list>
#include <map>
#include <numeric>
#include <queue>
#include <random>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <tuple>
#include <utility>
#include <vector>
// }}}

using namespace std;

using ll = long long;
using ull = unsigned long long;
using ld = long double;

static constexpr int mod = (int)1e9 + 7;
static constexpr int inf = 100100100;
static constexpr ll linf = 1e18;
static constexpr double eps = 1e-9;
static constexpr double pi = 3.14159265359;

#define rep(i, n) for (ll i = 0; i < n; ++i)
#define rrep(i, n) for (ll i = n; i >= 0; --i)
#define all(c) begin(c), end(c)
#define rall(c) rbegin(c), rend(c)
#define pb push_back
#define ist insert
#define fst first
#define snd second


int main() {
    // cin.tie(0);
    // ios_base::sync_with_stdio(false);
    ll N, K;
    cin >> N >> K;
    string S;
    cin >> S;

    vector<ll> I;
    char b = S[0];
    I.pb(0);
    rep (i, N) {
        if (b != S[i]) {
            b = S[i];
            I.pb(i);
        }
    }
    I.pb(N);

    ll ans = 0;
    rep (i, I.size()) {
        if (S[I[i]] == '0') {
            ans = max(ans, I[min((ll)I.size() - 1, i + 2 * K)] - I[i]);
        } else {
            ans = max(ans, I[min((ll)I.size() - 1, i + 2 * K + 1)] - I[i]);
        }
    }
    cout << ans << endl;
}

Submission Info

Submission Time
Task D - Handstand
User gochiusa
Language C++14 (Clang 3.8.0)
Score 400
Code Size 1556 Byte
Status AC
Exec Time 10 ms
Memory 1528 KiB

Judge Result

Set Name All Sample
Score / Max Score 400 / 400 0 / 0
Status
AC × 18
AC × 3
Set Name Test Cases
All sample_01, sample_02, sample_03, testcase_01, testcase_02, testcase_03, testcase_04, testcase_05, testcase_06, testcase_07, testcase_08, testcase_09, testcase_10, testcase_11, testcase_12, testcase_13, testcase_14, testcase_15
Sample sample_01, sample_02, sample_03
Case Name Status Exec Time Memory
sample_01 AC 1 ms 256 KiB
sample_02 AC 1 ms 256 KiB
sample_03 AC 1 ms 256 KiB
testcase_01 AC 3 ms 384 KiB
testcase_02 AC 3 ms 384 KiB
testcase_03 AC 7 ms 956 KiB
testcase_04 AC 1 ms 256 KiB
testcase_05 AC 7 ms 1464 KiB
testcase_06 AC 7 ms 1464 KiB
testcase_07 AC 10 ms 1464 KiB
testcase_08 AC 7 ms 1528 KiB
testcase_09 AC 7 ms 1464 KiB
testcase_10 AC 6 ms 512 KiB
testcase_11 AC 3 ms 384 KiB
testcase_12 AC 3 ms 384 KiB
testcase_13 AC 6 ms 512 KiB
testcase_14 AC 6 ms 512 KiB
testcase_15 AC 1 ms 256 KiB