QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#283183#7880. Streak ManipulationmaspyAC ✓235ms9956kbC++2013.2kb2023-12-14 00:30:212023-12-14 00:30:21

Judging History

你现在查看的是最新测评结果

  • [2023-12-14 00:30:21]
  • 评测
  • 测评结果:AC
  • 用时:235ms
  • 内存:9956kb
  • [2023-12-14 00:30:21]
  • 提交

answer

#line 1 "library/my_template.hpp"
#if defined(LOCAL)
#include <my_template_compiled.hpp>
#else
#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")

#include <bits/stdc++.h>

using namespace std;

using ll = long long;
using u32 = unsigned int;
using u64 = unsigned long long;
using i128 = __int128;
using u128 = unsigned __int128;
using f128 = __float128;

template <class T>
constexpr T infty = 0;
template <>
constexpr int infty<int> = 1'000'000'000;
template <>
constexpr ll infty<ll> = ll(infty<int>) * infty<int> * 2;
template <>
constexpr u32 infty<u32> = infty<int>;
template <>
constexpr u64 infty<u64> = infty<ll>;
template <>
constexpr i128 infty<i128> = i128(infty<ll>) * infty<ll>;
template <>
constexpr double infty<double> = infty<ll>;
template <>
constexpr long double infty<long double> = infty<ll>;

using pi = pair<ll, ll>;
using vi = vector<ll>;
template <class T>
using vc = vector<T>;
template <class T>
using vvc = vector<vc<T>>;
template <class T>
using vvvc = vector<vvc<T>>;
template <class T>
using vvvvc = vector<vvvc<T>>;
template <class T>
using vvvvvc = vector<vvvvc<T>>;
template <class T>
using pq = priority_queue<T>;
template <class T>
using pqg = priority_queue<T, vector<T>, greater<T>>;

#define vv(type, name, h, ...) \
  vector<vector<type>> name(h, vector<type>(__VA_ARGS__))
#define vvv(type, name, h, w, ...)   \
  vector<vector<vector<type>>> name( \
      h, vector<vector<type>>(w, vector<type>(__VA_ARGS__)))
#define vvvv(type, name, a, b, c, ...)       \
  vector<vector<vector<vector<type>>>> name( \
      a, vector<vector<vector<type>>>(       \
             b, vector<vector<type>>(c, vector<type>(__VA_ARGS__))))

// https://trap.jp/post/1224/
#define FOR1(a) for (ll _ = 0; _ < ll(a); ++_)
#define FOR2(i, a) for (ll i = 0; i < ll(a); ++i)
#define FOR3(i, a, b) for (ll i = a; i < ll(b); ++i)
#define FOR4(i, a, b, c) for (ll i = a; i < ll(b); i += (c))
#define FOR1_R(a) for (ll i = (a)-1; i >= ll(0); --i)
#define FOR2_R(i, a) for (ll i = (a)-1; i >= ll(0); --i)
#define FOR3_R(i, a, b) for (ll i = (b)-1; i >= ll(a); --i)
#define overload4(a, b, c, d, e, ...) e
#define overload3(a, b, c, d, ...) d
#define FOR(...) overload4(__VA_ARGS__, FOR4, FOR3, FOR2, FOR1)(__VA_ARGS__)
#define FOR_R(...) overload3(__VA_ARGS__, FOR3_R, FOR2_R, FOR1_R)(__VA_ARGS__)

#define FOR_subset(t, s) \
  for (ll t = (s); t >= 0; t = (t == 0 ? -1 : (t - 1) & (s)))
#define all(x) x.begin(), x.end()
#define len(x) ll(x.size())
#define elif else if

#define eb emplace_back
#define mp make_pair
#define mt make_tuple
#define fi first
#define se second

#define stoi stoll

int popcnt(int x) { return __builtin_popcount(x); }
int popcnt(u32 x) { return __builtin_popcount(x); }
int popcnt(ll x) { return __builtin_popcountll(x); }
int popcnt(u64 x) { return __builtin_popcountll(x); }
int popcnt_mod_2(int x) { return __builtin_parity(x); }
int popcnt_mod_2(u32 x) { return __builtin_parity(x); }
int popcnt_mod_2(ll x) { return __builtin_parityll(x); }
int popcnt_mod_2(u64 x) { return __builtin_parityll(x); }
// (0, 1, 2, 3, 4) -> (-1, 0, 1, 1, 2)
int topbit(int x) { return (x == 0 ? -1 : 31 - __builtin_clz(x)); }
int topbit(u32 x) { return (x == 0 ? -1 : 31 - __builtin_clz(x)); }
int topbit(ll x) { return (x == 0 ? -1 : 63 - __builtin_clzll(x)); }
int topbit(u64 x) { return (x == 0 ? -1 : 63 - __builtin_clzll(x)); }
// (0, 1, 2, 3, 4) -> (-1, 0, 1, 0, 2)
int lowbit(int x) { return (x == 0 ? -1 : __builtin_ctz(x)); }
int lowbit(u32 x) { return (x == 0 ? -1 : __builtin_ctz(x)); }
int lowbit(ll x) { return (x == 0 ? -1 : __builtin_ctzll(x)); }
int lowbit(u64 x) { return (x == 0 ? -1 : __builtin_ctzll(x)); }

template <typename T>
T floor(T a, T b) {
  return a / b - (a % b && (a ^ b) < 0);
}
template <typename T>
T ceil(T x, T y) {
  return floor(x + y - 1, y);
}
template <typename T>
T bmod(T x, T y) {
  return x - y * floor(x, y);
}
template <typename T>
pair<T, T> divmod(T x, T y) {
  T q = floor(x, y);
  return {q, x - q * y};
}

template <typename T, typename U>
T SUM(const vector<U> &A) {
  T sm = 0;
  for (auto &&a: A) sm += a;
  return sm;
}

#define MIN(v) *min_element(all(v))
#define MAX(v) *max_element(all(v))
#define LB(c, x) distance((c).begin(), lower_bound(all(c), (x)))
#define UB(c, x) distance((c).begin(), upper_bound(all(c), (x)))
#define UNIQUE(x) \
  sort(all(x)), x.erase(unique(all(x)), x.end()), x.shrink_to_fit()

template <typename T>
T POP(deque<T> &que) {
  T a = que.front();
  que.pop_front();
  return a;
}
template <typename T>
T POP(pq<T> &que) {
  T a = que.top();
  que.pop();
  return a;
}
template <typename T>
T POP(pqg<T> &que) {
  T a = que.top();
  que.pop();
  return a;
}
template <typename T>
T POP(vc<T> &que) {
  T a = que.back();
  que.pop_back();
  return a;
}

template <typename F>
ll binary_search(F check, ll ok, ll ng, bool check_ok = true) {
  if (check_ok) assert(check(ok));
  while (abs(ok - ng) > 1) {
    auto x = (ng + ok) / 2;
    (check(x) ? ok : ng) = x;
  }
  return ok;
}
template <typename F>
double binary_search_real(F check, double ok, double ng, int iter = 100) {
  FOR(iter) {
    double x = (ok + ng) / 2;
    (check(x) ? ok : ng) = x;
  }
  return (ok + ng) / 2;
}

template <class T, class S>
inline bool chmax(T &a, const S &b) {
  return (a < b ? a = b, 1 : 0);
}
template <class T, class S>
inline bool chmin(T &a, const S &b) {
  return (a > b ? a = b, 1 : 0);
}

// ? は -1
vc<int> s_to_vi(const string &S, char first_char) {
  vc<int> A(S.size());
  FOR(i, S.size()) { A[i] = (S[i] != '?' ? S[i] - first_char : -1); }
  return A;
}

template <typename T, typename U>
vector<T> cumsum(vector<U> &A, int off = 1) {
  int N = A.size();
  vector<T> B(N + 1);
  FOR(i, N) { B[i + 1] = B[i] + A[i]; }
  if (off == 0) B.erase(B.begin());
  return B;
}

// stable sort
template <typename T>
vector<int> argsort(const vector<T> &A) {
  vector<int> ids(len(A));
  iota(all(ids), 0);
  sort(all(ids),
       [&](int i, int j) { return (A[i] == A[j] ? i < j : A[i] < A[j]); });
  return ids;
}

// A[I[0]], A[I[1]], ...
template <typename T>
vc<T> rearrange(const vc<T> &A, const vc<int> &I) {
  vc<T> B(len(I));
  FOR(i, len(I)) B[i] = A[I[i]];
  return B;
}
#endif
#line 1 "library/other/io.hpp"
#define FASTIO
#include <unistd.h>

// https://judge.yosupo.jp/submission/21623
namespace fastio {
static constexpr uint32_t SZ = 1 << 17;
char ibuf[SZ];
char obuf[SZ];
char out[100];
// pointer of ibuf, obuf
uint32_t pil = 0, pir = 0, por = 0;

struct Pre {
  char num[10000][4];
  constexpr Pre() : num() {
    for (int i = 0; i < 10000; i++) {
      int n = i;
      for (int j = 3; j >= 0; j--) {
        num[i][j] = n % 10 | '0';
        n /= 10;
      }
    }
  }
} constexpr pre;

inline void load() {
  memcpy(ibuf, ibuf + pil, pir - pil);
  pir = pir - pil + fread(ibuf + pir - pil, 1, SZ - pir + pil, stdin);
  pil = 0;
  if (pir < SZ) ibuf[pir++] = '\n';
}

inline void flush() {
  fwrite(obuf, 1, por, stdout);
  por = 0;
}

void rd(char &c) {
  do {
    if (pil + 1 > pir) load();
    c = ibuf[pil++];
  } while (isspace(c));
}

void rd(string &x) {
  x.clear();
  char c;
  do {
    if (pil + 1 > pir) load();
    c = ibuf[pil++];
  } while (isspace(c));
  do {
    x += c;
    if (pil == pir) load();
    c = ibuf[pil++];
  } while (!isspace(c));
}

template <typename T>
void rd_real(T &x) {
  string s;
  rd(s);
  x = stod(s);
}

template <typename T>
void rd_integer(T &x) {
  if (pil + 100 > pir) load();
  char c;
  do
    c = ibuf[pil++];
  while (c < '-');
  bool minus = 0;
  if constexpr (is_signed<T>::value || is_same_v<T, i128>) {
    if (c == '-') { minus = 1, c = ibuf[pil++]; }
  }
  x = 0;
  while ('0' <= c) { x = x * 10 + (c & 15), c = ibuf[pil++]; }
  if constexpr (is_signed<T>::value || is_same_v<T, i128>) {
    if (minus) x = -x;
  }
}

void rd(int &x) { rd_integer(x); }
void rd(ll &x) { rd_integer(x); }
void rd(i128 &x) { rd_integer(x); }
void rd(u32 &x) { rd_integer(x); }
void rd(u64 &x) { rd_integer(x); }
void rd(u128 &x) { rd_integer(x); }
void rd(double &x) { rd_real(x); }
void rd(long double &x) { rd_real(x); }
void rd(f128 &x) { rd_real(x); }

template <class T, class U>
void rd(pair<T, U> &p) {
  return rd(p.first), rd(p.second);
}
template <size_t N = 0, typename T>
void rd_tuple(T &t) {
  if constexpr (N < std::tuple_size<T>::value) {
    auto &x = std::get<N>(t);
    rd(x);
    rd_tuple<N + 1>(t);
  }
}
template <class... T>
void rd(tuple<T...> &tpl) {
  rd_tuple(tpl);
}

template <size_t N = 0, typename T>
void rd(array<T, N> &x) {
  for (auto &d: x) rd(d);
}
template <class T>
void rd(vc<T> &x) {
  for (auto &d: x) rd(d);
}

void read() {}
template <class H, class... T>
void read(H &h, T &... t) {
  rd(h), read(t...);
}

void wt(const char c) {
  if (por == SZ) flush();
  obuf[por++] = c;
}
void wt(const string s) {
  for (char c: s) wt(c);
}
void wt(const char *s) {
  size_t len = strlen(s);
  for (size_t i = 0; i < len; i++) wt(s[i]);
}

template <typename T>
void wt_integer(T x) {
  if (por > SZ - 100) flush();
  if (x < 0) { obuf[por++] = '-', x = -x; }
  int outi;
  for (outi = 96; x >= 10000; outi -= 4) {
    memcpy(out + outi, pre.num[x % 10000], 4);
    x /= 10000;
  }
  if (x >= 1000) {
    memcpy(obuf + por, pre.num[x], 4);
    por += 4;
  } else if (x >= 100) {
    memcpy(obuf + por, pre.num[x] + 1, 3);
    por += 3;
  } else if (x >= 10) {
    int q = (x * 103) >> 10;
    obuf[por] = q | '0';
    obuf[por + 1] = (x - q * 10) | '0';
    por += 2;
  } else
    obuf[por++] = x | '0';
  memcpy(obuf + por, out + outi + 4, 96 - outi);
  por += 96 - outi;
}

template <typename T>
void wt_real(T x) {
  ostringstream oss;
  oss << fixed << setprecision(15) << double(x);
  string s = oss.str();
  wt(s);
}

void wt(int x) { wt_integer(x); }
void wt(ll x) { wt_integer(x); }
void wt(i128 x) { wt_integer(x); }
void wt(u32 x) { wt_integer(x); }
void wt(u64 x) { wt_integer(x); }
void wt(u128 x) { wt_integer(x); }
void wt(double x) { wt_real(x); }
void wt(long double x) { wt_real(x); }
void wt(f128 x) { wt_real(x); }

template <class T, class U>
void wt(const pair<T, U> val) {
  wt(val.first);
  wt(' ');
  wt(val.second);
}
template <size_t N = 0, typename T>
void wt_tuple(const T t) {
  if constexpr (N < std::tuple_size<T>::value) {
    if constexpr (N > 0) { wt(' '); }
    const auto x = std::get<N>(t);
    wt(x);
    wt_tuple<N + 1>(t);
  }
}
template <class... T>
void wt(tuple<T...> tpl) {
  wt_tuple(tpl);
}
template <class T, size_t S>
void wt(const array<T, S> val) {
  auto n = val.size();
  for (size_t i = 0; i < n; i++) {
    if (i) wt(' ');
    wt(val[i]);
  }
}
template <class T>
void wt(const vector<T> val) {
  auto n = val.size();
  for (size_t i = 0; i < n; i++) {
    if (i) wt(' ');
    wt(val[i]);
  }
}

void print() { wt('\n'); }
template <class Head, class... Tail>
void print(Head &&head, Tail &&... tail) {
  wt(head);
  if (sizeof...(Tail)) wt(' ');
  print(forward<Tail>(tail)...);
}

// gcc expansion. called automaticall after main.
void __attribute__((destructor)) _d() { flush(); }
} // namespace fastio
using fastio::read;
using fastio::print;
using fastio::flush;

#define INT(...)   \
  int __VA_ARGS__; \
  read(__VA_ARGS__)
#define LL(...)   \
  ll __VA_ARGS__; \
  read(__VA_ARGS__)
#define U32(...)   \
  u32 __VA_ARGS__; \
  read(__VA_ARGS__)
#define U64(...)   \
  u64 __VA_ARGS__; \
  read(__VA_ARGS__)
#define STR(...)      \
  string __VA_ARGS__; \
  read(__VA_ARGS__)
#define CHAR(...)   \
  char __VA_ARGS__; \
  read(__VA_ARGS__)
#define DBL(...)      \
  double __VA_ARGS__; \
  read(__VA_ARGS__)

#define VEC(type, name, size) \
  vector<type> name(size);    \
  read(name)
#define VV(type, name, h, w)                     \
  vector<vector<type>> name(h, vector<type>(w)); \
  read(name)

void YES(bool t = 1) { print(t ? "YES" : "NO"); }
void NO(bool t = 1) { YES(!t); }
void Yes(bool t = 1) { print(t ? "Yes" : "No"); }
void No(bool t = 1) { Yes(!t); }
void yes(bool t = 1) { print(t ? "yes" : "no"); }
void no(bool t = 1) { yes(!t); }
#line 3 "main.cpp"

void solve() {
  LL(N, M, K);
  STR(S);
  S = "0" + S + "0";
  N += 2;

  vc<int> A(N);
  FOR(i, N) A[i] = (S[i] == '0');
  // print("A", A);
  auto Ac = cumsum<int>(A);

  auto check = [&](ll L) -> bool {
    // 長さ L を K 個作れるか?
    // 0 の場所 -> min cost
    vi dp(N, infty<ll>);
    dp[0] = 0;
    FOR(K) {
      FOR(i, N - 1) chmin(dp[i + 1], dp[i]);
      FOR(i, N) if (S[i] != '0') dp[i] = infty<ll>;
      // [0,i)
      vi dpc(N + 1, infty<ll>);
      FOR(i, N) dpc[i + 1] = min(dpc[i], dp[i] - Ac[i + 1]);

      vi newdp(N, infty<ll>);
      FOR(j, L + 1, N) {
        if (S[j] == '1') continue;
        ll m = j - L - 1;
        chmin(newdp[j], dpc[m + 1] + Ac[j]);
      }
      swap(dp, newdp);
    }
    FOR(i, N) if (dp[i] <= M) return 1;
    return 0;
  };

  if (!check(1)) return print(-1);
  ll ANS = binary_search(check, 1, N + 10);
  print(ANS);
}

signed main() {
  solve();
  return 0;
}

这程序好像有点Bug,我给组数据试试?

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3652kb

input:

8 3 2
10110110

output:

3

result:

ok 1 number(s): "3"

Test #2:

score: 0
Accepted
time: 0ms
memory: 3684kb

input:

12 3 3
100100010011

output:

2

result:

ok 1 number(s): "2"

Test #3:

score: 0
Accepted
time: 0ms
memory: 3560kb

input:

4 4 4
0000

output:

-1

result:

ok 1 number(s): "-1"

Test #4:

score: 0
Accepted
time: 1ms
memory: 3684kb

input:

1000 200 5
0001001000101001110010011001101010110101101100010100111110111111010010001100100111100101011100011101011001110010111100100100011001010011000100011111010110100001101110101001110000001000111010000111110100111101100110011010011111000111101001010011000111010111010100101111100000100001011001010...

output:

99

result:

ok 1 number(s): "99"

Test #5:

score: 0
Accepted
time: 1ms
memory: 3872kb

input:

1000 200 5
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

40

result:

ok 1 number(s): "40"

Test #6:

score: 0
Accepted
time: 0ms
memory: 3588kb

input:

1000 200 5
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...

output:

-1

result:

ok 1 number(s): "-1"

Test #7:

score: 0
Accepted
time: 57ms
memory: 9728kb

input:

200000 5 3
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

2

result:

ok 1 number(s): "2"

Test #8:

score: 0
Accepted
time: 72ms
memory: 9820kb

input:

200000 5 2
0001010000000000000000010011000001000000000000000001100000000001000000000000010011000010000000000110000010000010000100000000001001010000011000100000000001001000000000011110000100000011000000100110100110001011000000000000000000000000110001000000100000011100010011010001010010010100000000000...

output:

13

result:

ok 1 number(s): "13"

Test #9:

score: 0
Accepted
time: 228ms
memory: 9856kb

input:

200000 5 5
0001100001100000001011100010111101100100110001000011001011111101110100000000000111101001110100010101010100110100100011001100000010110111110010111011110100100101011001100101001010110100011101011001000101011110110010001011111101011101011010101101010001111110101001001110000000000010101001001...

output:

17

result:

ok 1 number(s): "17"

Test #10:

score: 0
Accepted
time: 178ms
memory: 9808kb

input:

200000 5 5
1011101011100110010111011011101110111111101111110111101111011110110111111101111011110101101110001100111110010101111011111101111111111111110110111111111011111111111111111111111111011100101111001110011100111100001111111111110101111011110010111001101111111111110110010101100111111111111111011...

output:

45

result:

ok 1 number(s): "45"

Test #11:

score: 0
Accepted
time: 70ms
memory: 9896kb

input:

200000 5 4
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...

output:

24879

result:

ok 1 number(s): "24879"

Test #12:

score: 0
Accepted
time: 159ms
memory: 9860kb

input:

200000 5 5
1010101010010101001010100101011010110010100101000010100101010101001010110101010101010101101010110101010101010101011001010101010101010101011001010101010100010101010010101000101001010101010110010101010110101101010111101010110101010101010010101010110111010010110111011010101010101110111001101...

output:

9

result:

ok 1 number(s): "9"

Test #13:

score: 0
Accepted
time: 43ms
memory: 9852kb

input:

200000 5 1
1001001011010101010101010101110101010100101001001010101101110101011010110101010110101010101011010101010101010010101010101000100110111110101101010101101011010101010101011010101010101010101010010101010101010110101001010101010101010110101010101010101011011010001010101011010101010101010101001...

output:

20

result:

ok 1 number(s): "20"

Test #14:

score: 0
Accepted
time: 144ms
memory: 9848kb

input:

200000 5 5
0001000000001111111100001000000000111100000111111100000000000011111000011110000000111001111100110000000000000000110000000000000000000011111111100000000111001111111111100000000011100000000010000111100111110000000111111110001111110111001100111111111001011111110111000111111111111111111111111...

output:

50

result:

ok 1 number(s): "50"

Test #15:

score: 0
Accepted
time: 103ms
memory: 9852kb

input:

200000 5 4
0111111111111111111101100000111111100101011111110000000111111110010011111111111101111111110000001001111111111111111110001111111111111111111111111111111111111111111101110110000000000111111111111001101111111111010000111111110000011000111100001111111110101111111101100000011101000111111111111...

output:

90

result:

ok 1 number(s): "90"

Test #16:

score: 0
Accepted
time: 117ms
memory: 9784kb

input:

200000 5 4
0000100000110000000111100000000000111111100011111110001001110000000000001000000001100000011110000000010000000000011110000111111111101110000000100000000111100000011000011111001001000000000011000100000000000000001110000001000010000000000011111000000000000000000100000000011000000000000000000...

output:

22

result:

ok 1 number(s): "22"

Test #17:

score: 0
Accepted
time: 62ms
memory: 9808kb

input:

200000 170 3
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

57

result:

ok 1 number(s): "57"

Test #18:

score: 0
Accepted
time: 80ms
memory: 9732kb

input:

200000 170 2
00000000000000011000001010110010100000001010100001010010100011010110101100010100100010000001010000010000001000001010111100000101000110010000000010100000000100100010000000000110001000000001000101000010100000000000010100101100100011000100100000000010000101001010000000010000110000000000000...

output:

143

result:

ok 1 number(s): "143"

Test #19:

score: 0
Accepted
time: 220ms
memory: 9716kb

input:

200000 170 5
00000000110010110001010110100010110110100111110011111010101001111011101011111011101010100000001100110100000011000110001100000111011111001011001101011111111011101010100111001100011010100100001100010000001010010101011100001010111100011100101110111001110101011011100011100010010011001000100...

output:

107

result:

ok 1 number(s): "107"

Test #20:

score: 0
Accepted
time: 173ms
memory: 9820kb

input:

200000 170 5
10110010111110111011101101110111110111111011111110011111010111111111010100111001010111111111111001111011011011111111101011111011111111111010111111100111001001111100010111111001111011111011101100101110010101111101101011111101110011111110010001111101101101011110110111011111101010010111111...

output:

225

result:

ok 1 number(s): "225"

Test #21:

score: 0
Accepted
time: 56ms
memory: 9808kb

input:

200000 170 4
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...

output:

44639

result:

ok 1 number(s): "44639"

Test #22:

score: 0
Accepted
time: 146ms
memory: 9844kb

input:

200000 170 5
10101011010101100101010101000101010110010101010010101001010101101001010110101001010010101010101010101011010101010010100101101110101010101001010101101100101010101101011010101010101010100110101110110101101100100101010101000110101010101001010101111010101010101000100101010101010101010101010...

output:

85

result:

ok 1 number(s): "85"

Test #23:

score: 0
Accepted
time: 41ms
memory: 9868kb

input:

200000 170 1
00101101010101011010101101010100100100110111110010100100110110101010100110101010011010101011101001101010101011101010010101010100101100101010110101001010101101101010101010001010010110100010110101010110101110101001010010010101101010100010101011001010101000010101110010110101010101101101010...

output:

371

result:

ok 1 number(s): "371"

Test #24:

score: 0
Accepted
time: 121ms
memory: 9812kb

input:

200000 170 5
00111111100111111100000000011100111000000001110000000000101111111110000111111000000001111111111111111100010000111000000001111101111110001111000001111100000000111111100011111111111111111111110110000000000111111111111111100000001111111111111110000111111011111000001111111111100001111111100...

output:

174

result:

ok 1 number(s): "174"

Test #25:

score: 0
Accepted
time: 106ms
memory: 9716kb

input:

200000 170 4
00100101111111111110000111111000001111111111111111111111001000011111111001110011111111111100001111111111111110111111111111111111111111011110001111100111111111111111111111111111011101111111111110011111111111111000011101111101101111100001111111111111111011110001111111111111001111111000001...

output:

342

result:

ok 1 number(s): "342"

Test #26:

score: 0
Accepted
time: 107ms
memory: 9848kb

input:

200000 170 4
00000111111111000000010000000000111000100110000000110000000000011000000111100000000110000000000000011100000000000111111100000010010000001000000000000000000000000000000000000000000011000110000000000000010000000000000000000000000000000000011100000000110000000000010000000000000000111111000...

output:

98

result:

ok 1 number(s): "98"

Test #27:

score: 0
Accepted
time: 44ms
memory: 9956kb

input:

200000 5780 3
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

1928

result:

ok 1 number(s): "1928"

Test #28:

score: 0
Accepted
time: 67ms
memory: 9844kb

input:

200000 5780 2
0000001000000000011010000000000000100110101010000011011010000000000100011001001001001010100010100001100100000000010010010000000000000001010001001000000011000001000110000000000001001000110110010100001001110010000000010010000100011000001010110000001001000001010001000000100011000000100000...

output:

3962

result:

ok 1 number(s): "3962"

Test #29:

score: 0
Accepted
time: 235ms
memory: 9920kb

input:

200000 5780 5
1110111001110010111101101000110001011010111111011011110101000101010001101110111111001100001011110010110000011011110100110100011001010110010011000011110101011101000111001111001000001001101001111001110000011001010001110101011000010101000011001011000010110010001001010111010111001001011101...

output:

2436

result:

ok 1 number(s): "2436"

Test #30:

score: 0
Accepted
time: 174ms
memory: 9868kb

input:

200000 5780 5
1101110011001101101110011100111101101111001011111101010101111100111010111111101111111101011110100111001111111110110111101100111111111111111111111011011111110101111111001111111110110111011111111111110001110101111110011111111100110010101111110111010111110110110110011101111110111101111111...

output:

4936

result:

ok 1 number(s): "4936"

Test #31:

score: 0
Accepted
time: 52ms
memory: 9860kb

input:

200000 5780 4
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...

output:

36897

result:

ok 1 number(s): "36897"

Test #32:

score: 0
Accepted
time: 147ms
memory: 9928kb

input:

200000 5780 5
1101011101010101010101010101010101011010101010101101010110101010110101010101101101010100111001010101010101000101010010100010100101010101010100101101010101011011001001101011011010101011001001001010110110101010101010100010110110100011010010101101010010101010101011010101010101010101011010...

output:

2372

result:

ok 1 number(s): "2372"

Test #33:

score: 0
Accepted
time: 37ms
memory: 9872kb

input:

200000 5780 1
1010101101010100111010101011110010110101010111010101010101010101101000101011001010110101011010101111101101000010100100101101010101001001010110010101001010011010101010101110101000110101010101010101011010100110101010100101010101101001011011010100100110100100101010101001010101010110101101...

output:

11661

result:

ok 1 number(s): "11661"

Test #34:

score: 0
Accepted
time: 157ms
memory: 9868kb

input:

200000 5780 5
0000111110001111111111111111111000000111111111100000000011111111111100011100011100000000000000000111000001111110000000111111110000000011100001111111111111100000000000000011100000001100011111011110100011111001111111110000000001111110011111111111111111001110000000000000000001000000000000...

output:

2622

result:

ok 1 number(s): "2622"

Test #35:

score: 0
Accepted
time: 106ms
memory: 9716kb

input:

200000 5780 4
1111111000100111111111111101001101111111111110111111100001101111100010101111110001111111111110011111111111111111110011111111100011110001111101111111111111111111111111111111111110011111111110000001100011111111111111111111111111111111101111111111111000001111111111111111110011011111110000...

output:

6266

result:

ok 1 number(s): "6266"

Test #36:

score: 0
Accepted
time: 118ms
memory: 9804kb

input:

200000 5780 4
0000000000010000101111110001000001111111000000001100000000101111111111011101111110011111000000000011110000000000000000001000110000000000000000000000000000111001111100000000000000100000010000000000001100000000001111111100000000000111100100000111000001100000000000010000000010000011110000...

output:

2083

result:

ok 1 number(s): "2083"

Test #37:

score: 0
Accepted
time: 40ms
memory: 9812kb

input:

200000 196520 3
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

65514

result:

ok 1 number(s): "65514"

Test #38:

score: 0
Accepted
time: 43ms
memory: 9808kb

input:

200000 196520 2
00101100000000000100000000110000000000000010110010000000100000001001001000000000000000010100101000000101000000100000000000001010100011000100000100000000000001001000000000011100010010001000001000100100000000000101000100001100000000000000110000000000000000010000000000100000000001101000...

output:

99999

result:

ok 1 number(s): "99999"

Test #39:

score: 0
Accepted
time: 208ms
memory: 9824kb

input:

200000 196520 5
01101011111001100101110100100001001101001111101101001000101011111100011000001100001001001101111001100000110100010001100110001001111010011110101010010000111101001000101110001111010010001110100101110100011001111110000111001011001101011000101010100101011001000111100001001101100010100101...

output:

39998

result:

ok 1 number(s): "39998"

Test #40:

score: 0
Accepted
time: 162ms
memory: 9860kb

input:

200000 196520 5
11111011110001111110111110110110011011111010011111010111001111101000101011111111101111110110111111111111111111001010111111000111111111110111101011111001101111110110001111101011101101110011110010111010110011110111111011011000010100111011101101110111111001000000110111111100011011001100...

output:

39998

result:

ok 1 number(s): "39998"

Test #41:

score: 0
Accepted
time: 56ms
memory: 9912kb

input:

200000 196520 4
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...

output:

41481

result:

ok 1 number(s): "41481"

Test #42:

score: 0
Accepted
time: 153ms
memory: 9816kb

input:

200000 196520 5
10101101101010110101011101010100101010101010100101010100110101010010101000101010101010101010110101010101001101010110101101010101010110101100010101010101010101010101010101011010010101010100100101010101001010101010100100111001101010101101010100101011101010101010101010101010101010101010...

output:

39998

result:

ok 1 number(s): "39998"

Test #43:

score: 0
Accepted
time: 19ms
memory: 9920kb

input:

200000 196520 1
01010010101010001101010101010101010101001010100110110101010101010010110100101010101101010101010101010011011101010100110101101011101010101101010110101001010101011101011010100101001010101011010101001101010110101011011010101010100101010101001010110101010101101010101010100101010101001010...

output:

200000

result:

ok 1 number(s): "200000"

Test #44:

score: 0
Accepted
time: 133ms
memory: 9716kb

input:

200000 196520 5
00001111101000111111011110011111100111000000000000000000111111000000000000011110000000000000000011111110000011100011000000000111001111111000000001001111010100001111111111111101111100000000000001100000000000111000011111111110001111111110000000000011100000000000100011111111110000001110...

output:

39995

result:

ok 1 number(s): "39995"

Test #45:

score: 0
Accepted
time: 100ms
memory: 9848kb

input:

200000 196520 4
01110000001001111111000000011001000000011111111111001100000001000000110000111111111111110011111111111000000000001111111111011111111111111111110011111111000001000011111111111111111011111100111101111111111111111111111111001111001011100111100111111111111110111001111100011111100001111111...

output:

49993

result:

ok 1 number(s): "49993"

Test #46:

score: 0
Accepted
time: 106ms
memory: 9916kb

input:

200000 196520 4
01000000001100000001100000000000000000011000001011110000000000001000000110000000000000000000000000000000000000000010000111111110000000011100000000000011000000000000001101100000000000000000000000000000000111110000000000000000000011111000000000110100000000111110000001111111111111000000...

output:

49998

result:

ok 1 number(s): "49998"

Extra Test:

score: 0
Extra Test Passed