QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#719439 | #8523. Puzzle II | maspy | AC ✓ | 24ms | 20536kb | C++23 | 25.8kb | 2024-11-07 01:08:57 | 2024-11-07 01:08:58 |
Judging History
answer
#line 1 "/home/maspy/compro/library/my_template.hpp"
#if defined(LOCAL)
#include <my_template_compiled.hpp>
#else
// https://codeforces.com/blog/entry/96344
#pragma GCC optimize("Ofast,unroll-loops")
// いまの CF だとこれ入れると動かない?
// #pragma GCC target("avx2,popcnt")
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using u8 = uint8_t;
using u16 = uint16_t;
using u32 = uint32_t;
using u64 = uint64_t;
using i128 = __int128;
using u128 = unsigned __int128;
using f128 = __float128;
template <class T>
constexpr T infty = 0;
template <>
constexpr int infty<int> = 1'010'000'000;
template <>
constexpr ll infty<ll> = 2'020'000'000'000'000'000;
template <>
constexpr u32 infty<u32> = infty<int>;
template <>
constexpr u64 infty<u64> = infty<ll>;
template <>
constexpr i128 infty<i128> = i128(infty<ll>) * 2'000'000'000'000'000'000;
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;
}
template <typename T, typename... Vectors>
void concat(vc<T> &first, const Vectors &... others) {
vc<T> &res = first;
(res.insert(res.end(), others.begin(), others.end()), ...);
}
#endif
#line 1 "/home/maspy/compro/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;
#if defined(LOCAL)
#define SHOW(...) SHOW_IMPL(__VA_ARGS__, SHOW6, SHOW5, SHOW4, SHOW3, SHOW2, SHOW1)(__VA_ARGS__)
#define SHOW_IMPL(_1, _2, _3, _4, _5, _6, NAME, ...) NAME
#define SHOW1(x) print(#x, "=", (x)), flush()
#define SHOW2(x, y) print(#x, "=", (x), #y, "=", (y)), flush()
#define SHOW3(x, y, z) print(#x, "=", (x), #y, "=", (y), #z, "=", (z)), flush()
#define SHOW4(x, y, z, w) print(#x, "=", (x), #y, "=", (y), #z, "=", (z), #w, "=", (w)), flush()
#define SHOW5(x, y, z, w, v) print(#x, "=", (x), #y, "=", (y), #z, "=", (z), #w, "=", (w), #v, "=", (v)), flush()
#define SHOW6(x, y, z, w, v, u) print(#x, "=", (x), #y, "=", (y), #z, "=", (z), #w, "=", (w), #v, "=", (v), #u, "=", (u)), flush()
#else
#define SHOW(...)
#endif
#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"
#line 2 "/home/maspy/compro/library/ds/splaytree/splaytree.hpp"
/*
update でちゃんと prod が計算されてくれれば prod は op(lprod,x,rprod) でなくてもよい.
*/
// Node 型を別に定義して使う
template <typename Node>
struct SplayTree {
Node *pool;
const int NODES;
int pid;
using np = Node *;
using X = typename Node::value_type;
using A = typename Node::operator_type;
vc<np> FREE;
SplayTree(int NODES) : NODES(NODES), pid(0) { pool = new Node[NODES]; }
~SplayTree() { delete[] pool; }
void free_subtree(np c) {
if (!c) return;
auto dfs = [&](auto &dfs, np c) -> void {
if (c->l) dfs(dfs, c->l);
if (c->r) dfs(dfs, c->r);
FREE.eb(c);
};
dfs(dfs, c);
}
void reset() {
pid = 0;
FREE.clear();
}
np new_root() { return nullptr; }
np new_node(const X &x) {
assert(!FREE.empty() || pid < NODES);
np n = (FREE.empty() ? &(pool[pid++]) : POP(FREE));
Node::new_node(n, x);
return n;
}
np new_node(const vc<X> &dat) {
auto dfs = [&](auto &dfs, int l, int r) -> np {
if (l == r) return nullptr;
if (r == l + 1) return new_node(dat[l]);
int m = (l + r) / 2;
np l_root = dfs(dfs, l, m);
np r_root = dfs(dfs, m + 1, r);
np root = new_node(dat[m]);
root->l = l_root, root->r = r_root;
if (l_root) l_root->p = root;
if (r_root) r_root->p = root;
root->update();
return root;
};
return dfs(dfs, 0, len(dat));
}
u32 get_size(np root) { return (root ? root->size : 0); }
np merge(np l_root, np r_root) {
if (!l_root) return r_root;
if (!r_root) return l_root;
assert((!l_root->p) && (!r_root->p));
splay_kth(r_root, 0); // splay したので prop 済
r_root->l = l_root;
l_root->p = r_root;
r_root->update();
return r_root;
}
np merge3(np a, np b, np c) { return merge(merge(a, b), c); }
np merge4(np a, np b, np c, np d) { return merge(merge(merge(a, b), c), d); }
pair<np, np> split(np root, u32 k) {
assert(!root || !root->p);
if (k == 0) return {nullptr, root};
if (k == (root->size)) return {root, nullptr};
splay_kth(root, k - 1);
np right = root->r;
root->r = nullptr, right->p = nullptr;
root->update();
return {root, right};
}
tuple<np, np, np> split3(np root, u32 l, u32 r) {
np nm, nr;
tie(root, nr) = split(root, r);
tie(root, nm) = split(root, l);
return {root, nm, nr};
}
tuple<np, np, np, np> split4(np root, u32 i, u32 j, u32 k) {
np d;
tie(root, d) = split(root, k);
auto [a, b, c] = split3(root, i, j);
return {a, b, c, d};
}
// 部分木が区間 [l,r) に対応するようなノードを作って返す
// そのノードが root になるわけではないので、
// このノードを参照した後にすぐに splay して根に持ち上げること
void goto_between(np &root, u32 l, u32 r) {
if (l == 0 && r == root->size) return;
if (l == 0) {
splay_kth(root, r);
root = root->l;
return;
}
if (r == root->size) {
splay_kth(root, l - 1);
root = root->r;
return;
}
splay_kth(root, r);
np rp = root;
root = rp->l;
root->p = nullptr;
splay_kth(root, l - 1);
root->p = rp;
rp->l = root;
rp->update();
root = root->r;
}
vc<X> get_all(const np &root) {
vc<X> res;
auto dfs = [&](auto &dfs, np root) -> void {
if (!root) return;
root->prop();
dfs(dfs, root->l);
res.eb(root->get());
dfs(dfs, root->r);
};
dfs(dfs, root);
return res;
}
X get(np &root, u32 k) {
assert(root == nullptr || !root->p);
splay_kth(root, k);
return root->get();
}
void set(np &root, u32 k, const X &x) {
assert(root != nullptr && !root->p);
splay_kth(root, k);
root->set(x);
}
void multiply(np &root, u32 k, const X &x) {
assert(root != nullptr && !root->p);
splay_kth(root, k);
root->multiply(x);
}
X prod(np &root, u32 l, u32 r) {
assert(root == nullptr || !root->p);
using Mono = typename Node::Monoid_X;
if (l == r) return Mono::unit();
assert(0 <= l && l < r && r <= root->size);
goto_between(root, l, r);
X res = root->prod;
splay(root, true);
return res;
}
X prod(np &root) {
assert(root == nullptr || !root->p);
using Mono = typename Node::Monoid_X;
return (root ? root->prod : Mono::unit());
}
void apply(np &root, u32 l, u32 r, const A &a) {
if (l == r) return;
assert(0 <= l && l < r && r <= root->size);
goto_between(root, l, r);
root->apply(a);
splay(root, true);
}
void apply(np &root, const A &a) {
if (!root) return;
root->apply(a);
}
void reverse(np &root, u32 l, u32 r) {
assert(root == nullptr || !root->p);
if (l == r) return;
assert(0 <= l && l < r && r <= root->size);
goto_between(root, l, r);
root->reverse();
splay(root, true);
}
void reverse(np root) {
if (!root) return;
root->reverse();
}
void rotate(Node *n) {
// n を根に近づける。prop, update は rotate の外で行う。
Node *pp, *p, *c;
p = n->p;
pp = p->p;
if (p->l == n) {
c = n->r;
n->r = p;
p->l = c;
} else {
c = n->l;
n->l = p;
p->r = c;
}
if (pp && pp->l == p) pp->l = n;
if (pp && pp->r == p) pp->r = n;
n->p = pp;
p->p = n;
if (c) c->p = p;
}
void prop_from_root(np c) {
if (!c->p) {
c->prop();
return;
}
prop_from_root(c->p);
c->prop();
}
void splay(Node *me, bool prop_from_root_done) {
// これを呼ぶ時点で、me の祖先(me を除く)は既に prop 済であることを仮定
// 特に、splay 終了時点で me は upd / prop 済である
if (!prop_from_root_done) prop_from_root(me);
me->prop();
while (me->p) {
np p = me->p;
np pp = p->p;
if (!pp) {
rotate(me);
p->update();
break;
}
bool same = (p->l == me && pp->l == p) || (p->r == me && pp->r == p);
if (same) rotate(p), rotate(me);
if (!same) rotate(me), rotate(me);
pp->update(), p->update();
}
// me の update は最後だけでよい
me->update();
}
void splay_kth(np &root, u32 k) {
assert(0 <= k && k < (root->size));
while (1) {
root->prop();
u32 sl = (root->l ? root->l->size : 0);
if (k == sl) break;
if (k < sl)
root = root->l;
else {
k -= sl + 1;
root = root->r;
}
}
splay(root, true);
}
// check(x), 左側のノード全体が check を満たすように切る
template <typename F>
pair<np, np> split_max_right(np root, F check) {
if (!root) return {nullptr, nullptr};
assert(!root->p);
np c = find_max_right(root, check);
if (!c) {
splay(root, true);
return {nullptr, root};
}
splay(c, true);
np right = c->r;
if (!right) return {c, nullptr};
right->p = nullptr;
c->r = nullptr;
c->update();
return {c, right};
}
// check(x, cnt), 左側のノード全体が check を満たすように切る
template <typename F>
pair<np, np> split_max_right_cnt(np root, F check) {
if (!root) return {nullptr, nullptr};
assert(!root->p);
np c = find_max_right_cnt(root, check);
if (!c) {
splay(root, true);
return {nullptr, root};
}
splay(c, true);
np right = c->r;
if (!right) return {c, nullptr};
right->p = nullptr;
c->r = nullptr;
c->update();
return {c, right};
}
// 左側のノード全体の prod が check を満たすように切る
template <typename F>
pair<np, np> split_max_right_prod(np root, F check) {
if (!root) return {nullptr, nullptr};
assert(!root->p);
np c = find_max_right_prod(root, check);
if (!c) {
splay(root, true);
return {nullptr, root};
}
splay(c, true);
np right = c->r;
if (!right) return {c, nullptr};
right->p = nullptr;
c->r = nullptr;
c->update();
return {c, right};
}
template <typename F>
np find_max_right(np root, const F &check) {
// 最後に見つけた ok の点、最後に探索した点
np last_ok = nullptr, last = nullptr;
while (root) {
last = root;
root->prop();
if (check(root->x)) {
last_ok = root;
root = root->r;
} else {
root = root->l;
}
}
splay(last, true);
return last_ok;
}
template <typename F>
np find_max_right_cnt(np root, const F &check) {
// 最後に見つけた ok の点、最後に探索した点
np last_ok = nullptr, last = nullptr;
ll n = 0;
while (root) {
last = root;
root->prop();
ll ns = (root->l ? root->l->size : 0);
if (check(root->x, n + ns + 1)) {
last_ok = root;
n += ns + 1;
root = root->r;
} else {
root = root->l;
}
}
splay(last, true);
return last_ok;
}
template <typename F>
np find_max_right_prod(np root, const F &check) {
using Mono = typename Node::Monoid_X;
X prod = Mono::unit();
// 最後に見つけた ok の点、最後に探索した点
np last_ok = nullptr, last = nullptr;
while (root) {
last = root;
root->prop();
np tmp = root->r;
root->r = nullptr;
root->update();
X lprod = Mono::op(prod, root->prod);
root->r = tmp;
root->update();
if (check(lprod)) {
prod = lprod;
last_ok = root;
root = root->r;
} else {
root = root->l;
}
}
splay(last, true);
return last_ok;
}
};
#line 2 "/home/maspy/compro/library/ds/splaytree/splaytree_basic.hpp"
namespace SplayTreeNodes {
template <typename S>
struct Node_Basic {
using value_type = S;
using operator_type = int;
using np = Node_Basic *;
np p, l, r;
bool rev;
S x;
u32 size;
static void new_node(np n, const S &x) {
n->p = n->l = n->r = nullptr;
n->x = x, n->size = 1, n->rev = 0;
}
void update() {
size = 1;
if (l) { size += l->size; }
if (r) { size += r->size; }
}
void prop() {
if (rev) {
if (l) { l->rev ^= 1, swap(l->l, l->r); }
if (r) { r->rev ^= 1, swap(r->l, r->r); }
rev = 0;
}
}
// update, prop 以外で呼ばれるものは、splay 後であることが想定されている。
// したがってその時点で update, prop 済であることを仮定してよい。
S get() { return x; }
void set(const S &xx) {
x = xx;
update();
}
void reverse() {
swap(l, r);
rev ^= 1;
}
};
template <typename S>
using SplayTree_Basic = SplayTree<Node_Basic<S>>;
} // namespace SplayTreeNodes
using SplayTreeNodes::SplayTree_Basic;
#line 5 "main.cpp"
/*
aX, |X|=k
Yb, |Y|=k-1
aYb
X
Xb
aY
2回でひとつもってこれる
多い方からスタートしておく
*/
struct Data {
int N, K;
int idx = 0;
deque<int> L, R;
Data(int N, int K, vc<int> A) : N(N), K(K) {
FOR(i, K) L.eb(A[i]);
FOR(i, K, N) R.eb(A[i]);
}
void rot() {
++idx;
idx %= N;
L.emplace_back(POP(R));
R.emplace_back(POP(L));
}
void rev_rot() {
idx += N - 1;
idx %= N;
L.push_front(R.back()), R.pop_back();
R.push_front(L.back()), L.pop_back();
}
void debug() {
vc<int> S(all(L));
vc<int> T(all(R));
SHOW(S, T);
}
};
void solve() {
LL(N, K);
vc<int> X, Y;
{
STR(A, B);
int b = count(all(A), 'B');
int c = count(all(A), 'C');
if (b > c) {
for (auto& x: A) x = 'B' ^ 'C' ^ x;
for (auto& x: B) x = 'B' ^ 'C' ^ x;
}
for (auto& x: A) X.eb(x == 'B');
for (auto& x: B) Y.eb(x == 'B');
}
int n = SUM<int>(X);
Data A(N, K, X), B(N, K, Y);
vc<pi> ANS;
FOR(n) {
while (A.L[0] != 1) A.rot();
while (B.L.back() != 0) B.rev_rot();
// A.debug();
// B.debug();
ANS.eb(A.idx + 1, B.idx);
ANS.eb(A.idx, B.idx);
A.L.pop_front();
A.L.push_back(POP(A.R));
A.R.push_front(0);
B.L.pop_back();
B.L.push_front(1);
}
print(len(ANS));
for (auto& [a, b]: ANS) print(1 + a % N, 1 + b % N);
}
signed main() { solve(); }
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 3512kb
input:
6 3 BCCBCC BBCBBC
output:
4 2 1 1 1 4 4 3 4
result:
ok moves = 4
Test #2:
score: 0
Accepted
time: 0ms
memory: 3512kb
input:
2 1 BC BC
output:
2 2 2 1 2
result:
ok moves = 2
Test #3:
score: 0
Accepted
time: 1ms
memory: 3560kb
input:
2 1 BB CC
output:
0
result:
ok moves = 0
Test #4:
score: 0
Accepted
time: 0ms
memory: 3704kb
input:
2 1 CC BB
output:
0
result:
ok moves = 0
Test #5:
score: 0
Accepted
time: 0ms
memory: 3620kb
input:
3 1 CCC BBB
output:
0
result:
ok moves = 0
Test #6:
score: 0
Accepted
time: 0ms
memory: 3640kb
input:
3 1 CBC BCB
output:
2 3 2 2 2
result:
ok moves = 2
Test #7:
score: 0
Accepted
time: 0ms
memory: 3916kb
input:
3 2 BBB CCC
output:
0
result:
ok moves = 0
Test #8:
score: 0
Accepted
time: 0ms
memory: 3628kb
input:
3 2 BCB BCC
output:
2 3 3 2 3
result:
ok moves = 2
Test #9:
score: 0
Accepted
time: 1ms
memory: 3516kb
input:
4 2 CCCB BBCB
output:
2 1 2 4 2
result:
ok moves = 2
Test #10:
score: 0
Accepted
time: 0ms
memory: 3564kb
input:
9 6 CCCBCCCBB BBBCBBBCC
output:
6 5 8 4 8 8 5 7 5 8 5 7 5
result:
ok moves = 6
Test #11:
score: 0
Accepted
time: 1ms
memory: 3616kb
input:
21 3 CCCCBBCBCCCCCCCBCCCCC BBCCBCBBBBBBBBBCBBBBB
output:
8 6 1 5 1 6 14 5 14 7 4 6 4 17 3 16 3
result:
ok moves = 8
Test #12:
score: 0
Accepted
time: 0ms
memory: 3664kb
input:
49 41 CBCCBCCBCCBCCBCCCBBCCBCBBCCCBBCCBCBCBCBCCCCBCBCCB BCCCCBCBBBBCBCBBBBBCBBBBCCCCBCBBCBBCBBBBCBCBCBBBC
output:
38 3 1 2 1 5 46 4 46 7 44 6 44 9 42 8 42 11 41 10 41 14 41 13 41 14 41 13 41 16 41 15 41 17 37 16 37 17 32 16 32 20 31 19 31 20 27 19 27 22 26 21 26 23 26 22 26 24 26 23 26 25 26 24 26 30 24 29 24 32 20 31 20 35 18 34 18
result:
ok moves = 38
Test #13:
score: 0
Accepted
time: 0ms
memory: 3676kb
input:
114 8 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
output:
0
result:
ok moves = 0
Test #14:
score: 0
Accepted
time: 0ms
memory: 3764kb
input:
266 28 CBBCBBCCCCBCBBCBBBCBCBCBCBBCBCBBCCCCBCCCCCBCCBBCCBBCBCBBCCCCCCBBBCCCBCCBCBBCCCBCCCCCCBCBBCCCBCBBCCBCBBBCBCCCBBCBCCCCBBCBBCBBCCBBCCCCCBBCCCBCCCCCCCCBBBBBBCBCCBCCCCBBCBBBBCBCCCCCCCBCBBCBCCCCCCCCCCCBBBBCCCCBCBCCCBCCCCCCCCCBCBCCCBBBCCCBCCBCBBCBCCCCCCBCBCCCCBCBCCBCCCCBCB CCBCBCBBCBCBBCBCCCBBBCBCBB...
output:
206 3 266 2 266 3 264 2 264 4 263 3 263 4 260 3 260 8 260 7 260 9 260 8 260 9 259 8 259 10 257 9 257 10 256 9 256 10 254 9 254 11 253 10 253 12 252 11 252 13 252 12 252 14 250 13 250 14 245 13 245 15 245 14 245 18 242 17 242 20 240 19 240 27 236 26 236 41 235 40 235 44 226 43 226 44 218 43 218 47 21...
result:
ok moves = 206
Test #15:
score: 0
Accepted
time: 0ms
memory: 3588kb
input:
620 443 BBBBBBCBBBCBBCBCBCBBBBCCCBCCBCBBBBBBCCCBBBCCBBCBCBCBBCCCCBCBBCBCCCCBBBBBBCCCCCBBBBCCBCBBBBBCBCBBCBCBCCCCBCBBCBBBCBBBCCCBCCCBBBBBCCBBCCBBBCCBCCBCBBCBCCCCCCCCCBCBCBBBCBBCBBCBBBBBBBCCBBBBBBBBBBCBBCBBCBBCCCBBCCBBBBCCCBBBBBBCBBBBBBBBCBBCBCBBBCCBBBBCCBBBCBCBCBBBBBCBBCBBBBCBBBBCCBBBCBBBBBCBBCCCCBCC...
output:
484 8 1 7 1 11 619 10 619 13 619 12 619 14 618 13 618 15 618 14 618 19 618 18 618 19 618 18 618 19 616 18 616 20 615 19 615 20 613 19 613 21 606 20 606 27 606 26 606 27 606 26 606 27 605 26 605 30 604 29 604 30 603 29 603 32 598 31 598 33 595 32 595 34 594 33 594 36 593 35 593 36 592 35 592 36 592 3...
result:
ok moves = 484
Test #16:
score: 0
Accepted
time: 1ms
memory: 3736kb
input:
1446 646 CCCBCCCCCCCBBCCBBCCCCBBCCCBBCCCCCCCCCCCCCCCBCCCCCCCCBBCCBBCCCBCBBBCCCCBBCCCCCCCCCCCBCBCCCBBCCCCBBCBCBCCCCCCCBCCCCCCCBCCBCBBCCCCCCCCCCCCBCCCBCCCCCCBCCCBCCCCCBBCCCBBCCCBBBCCBCCBCCBBBCBCBCCCCBCBCCCBCCCCBBCCCCCCCBCCCCBCCCBBBCCCBCCBBCCCCBCCCBBCBCCCCCBBCCBCCCCCCBCCCCCCCCCCCCCCBCCCCCBCBCCCCBCCCCCB...
output:
874 5 1444 4 1444 12 1444 11 1444 12 1444 11 1444 14 1443 13 1443 14 1439 13 1439 18 1439 17 1439 18 1432 17 1432 21 1431 20 1431 21 1428 20 1428 36 1427 35 1427 44 1424 43 1424 44 1417 43 1417 46 1414 45 1414 46 1414 45 1414 49 1402 48 1402 50 1400 49 1400 50 1392 49 1392 50 1388 49 1388 54 1377 53...
result:
ok moves = 874
Test #17:
score: 0
Accepted
time: 0ms
memory: 3820kb
input:
3374 2755 BCBBCBBBCBBBBBBBBBCCBBBBBBBCCBBCBBCBBBBBCBBBBBBBBCBBBBBBBBBBBBCBBBCCBBBBCBBBBBCBBBBBCBBBBCBBBBBBBBBCBBBBBBBBBBBCBBBBBBBCBBBBBBBBBBCCBBBBBBBBBCBBCBBBCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCBBBCBBCBBBBBBBBBBBBBBCCBCBCBCBBBBCBBBCBBBBBBBBCBBCBCBBCBCCBBBBBBBBBBBCCBBBBBBBBBBBBBBBBBCBBBBBBBBBBB...
output:
1216 3 3372 2 3372 5 3368 4 3368 8 3366 7 3366 17 3364 16 3364 17 3364 16 3364 24 3358 23 3358 24 3350 23 3350 26 3349 25 3349 28 3342 27 3342 33 3340 32 3340 41 3335 40 3335 53 3335 52 3335 56 3325 55 3325 56 3325 55 3325 60 3325 59 3325 65 3322 64 3322 70 3318 69 3318 74 3318 73 3318 83 3310 82 33...
result:
ok moves = 1216
Test #18:
score: 0
Accepted
time: 1ms
memory: 4072kb
input:
7872 7827 BCBBCBCBBCCBCBBBCCCBBBBBBBCBBBBCCBCCBCBBBBBBCBBCBBBCCCBBBCCCCBCBBBBCBBCCBBBBCCBBCBBBCBCBBCBCBBCCBBBCCBBBBCCBBCBBBBBBCBBBBBBBBCCBBCCCCBCCCBBCCCBBCBCBBBCBBBBCBBBBCBCBBBCCBBCCCCBBBCBBCCBBBBBBCBBBBCCCBBBCCCBBCCCBBBBBBCCBBBCCCCBBBCBBCBCCBBBCCCCBCBBCCBBBBCCBBBCBBCBBBCBBBCBBBBCCBBBBBCCBCBCBBBBBBB...
output:
5928 3 1 2 1 5 7870 4 7870 6 7868 5 7868 8 7862 7 7862 8 7857 7 7857 9 7855 8 7855 12 7853 11 7853 12 7853 11 7853 12 7851 11 7851 19 7849 18 7849 23 7840 22 7840 23 7838 22 7838 24 7838 23 7838 24 7838 23 7838 25 7837 24 7837 31 7837 30 7837 33 7836 32 7836 36 7833 35 7833 36 7831 35 7831 36 7831 3...
result:
ok moves = 5928
Test #19:
score: 0
Accepted
time: 1ms
memory: 4144kb
input:
18368 17997 CBBBBBBBBBBCBBBBBBBBBBBBBBCBBCCBBBBBBBBBBBBBCBCBBBBBBBBCBBBBBCBBBBBBBBBBBBBBCBBBBBBBBBBCBBBCBCBBBBBCBCBBCBBBBBBBBBBBBBCCCBBBBBBCBBBBCBCBBCBBBBBCBBBBBBBCCBBBBCCBCBBBBBBBBBBBBCBBBBBBBBCBCBBBBBBBBCBCBBBBBBBBBBBCBBBBCCBBBBBBBCBBBBBBBBBBBBBBBCCBBCBCBBCBCBBBCBBBBBBBBBBBBBCBBCBBBBBBBCCCBBBBBBBB...
output:
7330 2 1 1 1 12 18363 11 18363 26 18361 25 18361 28 18360 27 18360 28 18357 27 18357 41 18356 40 18356 42 18355 41 18355 50 18352 49 18352 55 18339 54 18339 69 18333 68 18333 79 18333 78 18333 82 18327 81 18327 83 18326 82 18326 88 18326 87 18326 89 18323 88 18323 91 18316 90 18316 104 18315 103 183...
result:
ok moves = 7330
Test #20:
score: 0
Accepted
time: 0ms
memory: 4508kb
input:
42858 28689 CCCCCCCCCCCCCCCCCCCCBCCCBBCCCBCCCCCCCCCBCCCCCCCBCCCBCCCCCBCCCCCCCCBCCBCCBCCCCCCCCCCCCCCCCCBCCCCCCCCCBCCCCBCCCCCCCCCCCCCCCCCCCCCCCCCCCCBCCCCCCCCCCCCCCCCCBBCCCCCCCCCCCCCCBBCCCBCCCCCCCCCCBCCCCCCCBCCCCBCBCCCBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCBCBCCCBCBCCCCCCCCCCCCCCBCCCCCCCCBCCCCCCCCCCCCCCCCCC...
output:
8086 22 1 21 1 25 42853 24 42853 25 42843 24 42843 28 42821 27 42821 37 42799 36 42799 44 42792 43 42792 47 42773 46 42773 52 42757 51 42757 60 42750 59 42750 62 42748 61 42748 64 42727 63 42727 81 42707 80 42707 90 42698 89 42698 94 42688 93 42688 122 42683 121 42683 139 42683 138 42683 139 42642 1...
result:
ok moves = 8086
Test #21:
score: 0
Accepted
time: 0ms
memory: 6724kb
input:
100002 40466 BBBBBBBCCBCBCCBCBBBBCCBBCBBBBBBBBBBCBBBBCBBBBBCBBBBBBBBBCBBBCBBBCCBCBCBBBBBBCBBBBBBBCBBBBBCBBBBCBCBCBBBBBBBBCBBBBBBBBCBCBBBBCBBBBBBBBBBBBBCBCBBCBBBBBBBBBBBCBBBBBBBCBCBCBCBBBBBBBBCBCBBBBBBBBCBBBBBBBBCBCCBBBCCBBCBBCBBBBBBBBBBCBBBCBBBBBBBBBBBBCBBCCBBCBBCBBBBCBBBBCBBBCCBBBCBBBBBBBCBBBBCBBBC...
output:
45728 9 99999 8 99999 9 99998 8 99998 10 99994 9 99994 11 99989 10 99989 11 99988 10 99988 12 99987 11 99987 16 99978 15 99978 16 99968 15 99968 18 99966 17 99966 28 99964 27 99964 32 99964 31 99964 37 99959 36 99959 46 99958 45 99958 49 99955 48 99955 52 99940 51 99940 52 99940 51 99940 53 99930 52...
result:
ok moves = 45728
Test #22:
score: 0
Accepted
time: 4ms
memory: 10512kb
input:
233338 159967 CCBCBBCCCCBBCCCCCCCCBCCCBCCCCBCCBCCCCCCCCCBCBCCBBCBBCCCCBCCCCCCCCCCCCCCCCCCCBCCBCCBBCBCCBBBCCBCCCCBBCCCBCCCCCCCCCCCBCCBCCCCCCCCBCCCBBCBCCCBCCCCCBCCBCCBCCCCCCCBCCCCCBCCBBCCCCCCCBCCCCCCCCBBBCCCCCCCCCCCCBBBCCCBBCCBCBCCCCCCCCCBCCCCBCCCCCCCCBBCCCCBCCCCBCCCBCCCBCCCCCBCCCCCBBCCCBCCCCCCCCCCCCC...
output:
103344 4 233338 3 233338 5 233336 4 233336 5 233333 4 233333 9 233333 8 233333 9 233332 8 233332 17 233325 16 233325 20 233321 19 233321 24 233321 23 233321 26 233312 25 233312 35 233309 34 233309 36 233309 35 233309 38 233309 37 233309 38 233301 37 233301 39 233300 38 233300 39 233300 38 233300 43 ...
result:
ok moves = 103344
Test #23:
score: 0
Accepted
time: 19ms
memory: 20292kb
input:
300000 1 CCCBBBBBBCCBCCCBCBBBBCBCBCBBCBBBBCBCBCCBBCCBBCCBCBBCBBBBBBCBBBCBCBCCBBCBBCCCCCBCBCBBBBBBBBCBCBBBBCCCBCBBBCCBCBCBCBCBBCCBCBCCCBCBCBBCCBCCBBCBBBBCCBBCBCBBBBCCBBBBBBBCCBCCCBCBCCBBBBBCCBBBBCBCCBCBBCBBCBCCCBBBBBBBCCCCBBBBBBBBCBBBCCBCBBBBCCBBBCCBCBCCBCCBBCBBCCCCCBCBBBCCCCCCBCBBBCBBCCCCCCBCCCBBBCC...
output:
299752 5 1 4 1 5 300000 4 300000 7 299999 6 299999 7 299997 6 299997 9 299996 8 299996 9 299994 8 299994 13 299992 12 299992 17 299991 16 299991 19 299989 18 299989 19 299982 18 299982 21 299980 20 299980 21 299979 20 299979 24 299977 23 299977 26 299974 25 299974 28 299971 27 299971 28 299966 27 29...
result:
ok moves = 299752
Test #24:
score: 0
Accepted
time: 11ms
memory: 19640kb
input:
300000 299999 BBCBCCBBBBCCBBBCBBBCCCBCBCBCCBBCCBBCCBBCCBBBBBCBBCBBBCBBBCCBBCBBBCCCCCCBBCCBCBCBCBBBCCBCBBCCCBBCCCCCBCBCCBBCBBCCBBCCBBBBCBBCBBCCBBCCCCCCCBCBCCCBBBCBBBCCCCBCBBCCCBBCBBBCBBBBCCCCCCBCCCCCCBCBBCBBCBCBCBCCCCBCCBCCCBBCCBBCCCCCBBCCBCCCCBBCBCBCBCCCCBBBCCBCBBBCCBBBCCBBCBCCBCCBCCCCBCCBBBCCBCCBCB...
output:
299728 2 1 1 1 2 300000 1 300000 3 299996 2 299996 5 299996 4 299996 5 299996 4 299996 5 299996 4 299996 5 299993 4 299993 7 299993 6 299993 7 299991 6 299991 7 299990 6 299990 8 299990 7 299990 8 299990 7 299990 8 299989 7 299989 11 299989 10 299989 12 299987 11 299987 13 299987 12 299987 15 299986...
result:
ok moves = 299728
Test #25:
score: 0
Accepted
time: 8ms
memory: 20408kb
input:
299999 1 BBBCCBBCBCCCCBCCCBBBCCBBBBCBCBBCCCCBBCCCCCCBCBBCBBBCCCCCBCBBCCCCBCBCBCCBBCBCCCBCBCCCBBBBBCBCCBBCBCBBBCCBBCCBBCBBBCBCCBCBCCCBCCCCBBCBCBCBBBBCBCCCCBCCCBBCCBCCCBBBCCCCBCCCBBBBBBCCCBCBCBCBCCBCCBBCBBCCBBCBBCCBBBBCCCCBBCBBBCCCBBCBCCBBCCBBBCCBCCCBCCBBBBBCBCBBBCCBCCCBCBBBBBBBBCCBBCBBBCBCBBBCBCCCCCB...
output:
299916 5 1 4 1 5 299999 4 299999 9 299998 8 299998 11 299995 10 299995 11 299993 10 299993 13 299991 12 299991 13 299990 12 299990 16 299987 15 299987 16 299986 15 299986 18 299984 17 299984 22 299983 21 299983 22 299978 21 299978 28 299977 27 299977 30 299976 29 299976 33 299974 32 299974 33 299971...
result:
ok moves = 299916
Test #26:
score: 0
Accepted
time: 15ms
memory: 20404kb
input:
299999 299998 CBBCBBBCBCBBCBCCCCCBCCBBBCBCBCCCBBBBCCBBCBCCCBCBBCCBBBBCCBCBBCCCCBCBBCCBCCCCBCCBCBCCCBBCBBCCBBCCCBBBCCBBCBBBCCCBBCCBCCCCCBBCCCCCBBCCCCBCCBCCBBBCBCCCCBBCBBBCBBBCCCBCCBBCCCBBCBCBBCBCBBCBCCBBBCBBCCCBBCBBCBCCCCBBBBCCCBCCBCBBBCBCCBCBBBBBBBBBCBCBCBBBCCBCCBBBBCCCBBCCBCCBBCCCCBBBBCCCCBBCBCBCBC...
output:
299574 2 299993 1 299993 4 299993 3 299993 7 299993 6 299993 8 299993 7 299993 10 299988 9 299988 11 299988 10 299988 11 299986 10 299986 11 299983 10 299983 11 299982 10 299982 11 299982 10 299982 12 299981 11 299981 12 299980 11 299980 15 299980 14 299980 16 299979 15 299979 17 299979 16 299979 17...
result:
ok moves = 299574
Test #27:
score: 0
Accepted
time: 18ms
memory: 18768kb
input:
300000 2 CCBBBBBBCCCBBCCCBBBCCBBCCBBBBBCBCBBBCCBBCBCCBBCBBBBCBCBBCCBCCCBCBCCBBCBBBCBCBCBBCCCCBBBCBCCCBCCBBBBCCCBCBBBBBCCCCCCBBBCCBBBBCCBBBBBCCCBCBCCCBCCBBCCBCBCBBBCBBCCCCCCBBBBCBBCCCCBCCBCCBCCBBCBBBCCBCCCCBCCBBCBBBCBCCBCCBBBBCBBCBBCBCCBCCCBBCCCCBBBCCBCBBCCBCBBCBBBBBCBBBCBBBBBBCCBBBBCCCBBBBBCCBBCCCBB...
output:
299994 2 299995 1 299995 2 299995 1 299995 10 299992 9 299992 10 299989 9 299989 10 299989 9 299989 15 299987 14 299987 15 299985 14 299985 15 299985 14 299985 21 299982 20 299982 21 299978 20 299978 25 299978 24 299978 25 299975 24 299975 32 299975 31 299975 33 299973 32 299973 38 299973 37 299973 ...
result:
ok moves = 299994
Test #28:
score: 0
Accepted
time: 15ms
memory: 19200kb
input:
300000 299998 BBBBBBBCBBBBBBCCCCBBCCCCBCCCCCCBCCBCCCBBCCBBCCCBBCBCCBCBBCCCBCCCBCCBCCCBCCBCBBBCBBCCCCBBCBCCCBCCBBCBCCBCBCCBBBCCBCCBBCBBBBBBCBBBCBBBCCCCCCBBCBCCCCCBBCBBCBCCCBBCBBCBBCCCCCCBBBBCBCCCCCCCCCBCCBCCBCBCCBCBCBBCBCBCCBBCCCCBCCCCCCCCCBCCCBBCCCBBCBBBBBBCBCCBCBCBBBBCCCBBCBBCBBBCBCBBCCCCBCCBBBBCBB...
output:
299714 9 1 8 1 15 300000 14 300000 15 299998 14 299998 15 299998 14 299998 15 299996 14 299996 17 299996 16 299996 17 299996 16 299996 17 299996 16 299996 17 299995 16 299995 18 299995 17 299995 18 299994 17 299994 18 299993 17 299993 18 299993 17 299993 18 299992 17 299992 18 299990 17 299990 19 29...
result:
ok moves = 299714
Test #29:
score: 0
Accepted
time: 13ms
memory: 19340kb
input:
299999 2 CBCCCCBCBBCCBBBBCBCCBBBCBCCBCBCCBCBCBBCCBBBBCCCBBCBCBBCBCCCCBBBCCBCBBCCBBCBCCBBCBBCCBBCCBCCBBBCCCCBBCBBBCCBBBCCBBBCCCBBCBBCBCCCBCBCBBBCBCBBCCBCBCBBBBCCBCBCBBBBBCBCBBCBCBCCBCBCCBCCBBCBBBCBBBBCBCBBBCCBCBBCBBCCBCBCBCCBBBBCBCCBCBCCCCCBBBBBCBCCCCBBCCBBCCCCBBCBBBBBBCBCCBBCBCBCBBBCCCBCCBBBBCCBBCBB...
output:
299818 3 299999 2 299999 8 299999 7 299999 9 299997 8 299997 10 299993 9 299993 14 299991 13 299991 14 299989 13 299989 14 299989 13 299989 17 299987 16 299987 18 299987 17 299987 22 299976 21 299976 22 299973 21 299973 22 299973 21 299973 26 299971 25 299971 29 299968 28 299968 30 299968 29 299968 ...
result:
ok moves = 299818
Test #30:
score: 0
Accepted
time: 12ms
memory: 18536kb
input:
299999 299997 CBBBCBCBBBBBCBBCCCCBBCBCBBCBCBBBCCBBBBCCCBBCBBCBCBCCCBBCBBBBCCBCCBBBBBCBCBCBBBBBCBBCCBBBBBCCBCCCCCBCBBBBCCCBBCCCBCCBBCCBBCCBBBBCCBCBBBBCCBCBCCBBCBBBCBCBBCBBCCCCCCCCBCBCCCBCCCCCBCCCCCCCCBBBCCBCCBBCCCCBCCCBBBCBCCCCCCBCBCCBBCBBBCBBCBCBCCBCBCBBBBBBBBCCCBCCBCBCCCCBCCBBBCBCCCBCBCCBCCCBCBBCCC...
output:
299540 2 299999 1 299999 5 299999 4 299999 6 299997 5 299997 11 299997 10 299997 13 299997 12 299997 13 299997 12 299997 13 299996 12 299996 13 299996 12 299996 15 299994 14 299994 16 299994 15 299994 18 299994 17 299994 19 299994 18 299994 22 299993 21 299993 22 299993 21 299993 26 299993 25 299993...
result:
ok moves = 299540
Test #31:
score: 0
Accepted
time: 15ms
memory: 19848kb
input:
300000 3 BBBCBBCBCBBBCBCBBBCCBCCBBBCCBCCBCBCCCCBBBBCBBCCBBBCCBCCBCBCBBBBBBBBCCCBCBBCBBCBBCBBBBCBCCBBBBBCCBBBBCBCBBCCCBBBCBBCCBBBCCCBBCBBBCBBCBCBCBCBCBBCBBCCBBBCCBCBBCCCCBBCBCBCCCCBCCCCBBCCBCCCCBCBBBCBBBCBCCBBCCCCCBCBCCBBBCBBBCCCBCCCCBCCCCCBBCCCBBBBBBBCCBCBCBCCCCCCBBBCCCCCCBCBCCBBBCBCCBBCCCCBCCBCCBCC...
output:
299680 2 299996 1 299996 2 299992 1 299992 2 299991 1 299991 6 299990 5 299990 6 299987 5 299987 7 299982 6 299982 11 299982 10 299982 11 299979 10 299979 11 299978 10 299978 15 299974 14 299974 16 299973 15 299973 16 299972 15 299972 17 299971 16 299971 22 299970 21 299970 24 299963 23 299963 25 29...
result:
ok moves = 299680
Test #32:
score: 0
Accepted
time: 13ms
memory: 20032kb
input:
300000 299997 CCCBCBBCCBCCCBCCCCCBBBCBCBBBCBCBBCBCBBBBCCBBCCBCBBCBBCBBCCCBBCBCCCCBCCCBCCCBBCCBCCCCBBBCBBCBBBCBBCBCCBCBBBBCCCCBCCCBBCBCCBCBCCBCCBCCBCBCCBCCCCBBCCCCBBCCBBCBBCBBBBBBBBBBBCCBCBBCCCBBCCBBCBBBBCBCCBBCCCCBBCBBCCBCBBBCBCCBBBCBBBCCBCBCCCBCCBBBBBBCBCBCBCCBBBBBBBCBCCBBCBCBCCCCCCBBCCBBBBCCBCCCCB...
output:
299862 2 300000 1 300000 2 299998 1 299998 2 299998 1 299998 3 299998 2 299998 5 299996 4 299996 5 299996 4 299996 6 299996 5 299996 6 299996 5 299996 6 299996 5 299996 7 299993 6 299993 7 299993 6 299993 7 299993 6 299993 7 299992 6 299992 7 299992 6 299992 10 299990 9 299990 11 299989 10 299989 14...
result:
ok moves = 299862
Test #33:
score: 0
Accepted
time: 12ms
memory: 19808kb
input:
299999 3 BCBBBCBCCCBCCCBBBBCBBBBBCCBCCCCBCBBBBBBCBBCBCBCBBBBBBCBBBCCCBCBBBBBCCCBCBCBBBBBBBCBBBBBBCBCBBBCCCBCCBCCBCCBBBCCCBCCCBBBBCBCCBBCCCCBCBBBCBCCCBBCBBBBCCCCBCCCCBBBBCCCCCCBBBCCCBBBBCCBBCCBCBCCBBCBBCBBCBCBBBBBCCBBBBBCBBBCCBBBBCCCBBCBBCBBCBCBBCCBBCBBBCBCBCCCBBBBCBBBBBCBBCBBCCCCCCBCCCCBCBBBBBCCCBBC...
output:
299648 3 299997 2 299997 7 299996 6 299996 8 299995 7 299995 8 299994 7 299994 9 299991 8 299991 13 299991 12 299991 13 299991 12 299991 13 299988 12 299988 20 299988 19 299988 26 299988 25 299988 26 299985 25 299985 27 299985 26 299985 29 299985 28 299985 30 299982 29 299982 30 299981 29 299981 34 ...
result:
ok moves = 299648
Test #34:
score: 0
Accepted
time: 19ms
memory: 19552kb
input:
299999 299996 CBBCBCCCBBBCBCBBCBBBBBCBBCCBBCBBCCCBCCBCBCBBCBCCBBCBBBCCCBCBBBBCBCCBCCCCBBCCCCBCBBCBBBBCBBCBCCBBBBCBCCBBBCBBCBBCCCBBCBCCCBCBCCBCBCCBBCBCBCBBBBBCCCBBBBBCCBCBBCCBCBCBBCCCCCCBBCCBBBBBBBCCBCBCBBCBCCBCBBCBBCBCCBBCCBCBCBCBBBBBBBCCBCCBCBCCBBCCBBCBBBBCBBCCBBCCCCBCCBBBBCBCCBBBBCCCCCBCCCBCCBCBCC...
output:
299968 2 299999 1 299999 4 299997 3 299997 5 299997 4 299997 5 299992 4 299992 5 299989 4 299989 8 299989 7 299989 9 299987 8 299987 11 299987 10 299987 16 299986 15 299986 18 299986 17 299986 18 299986 17 299986 20 299985 19 299985 22 299984 21 299984 22 299984 21 299984 22 299981 21 299981 23 2999...
result:
ok moves = 299968
Test #35:
score: 0
Accepted
time: 21ms
memory: 20192kb
input:
300000 4 CBBBBBCBCCBBBCBCBBCBCBBBCBBBCBBCCCBBCBCCCCBBBBCCCBBCBBCCBBCBBCBBCBBBBBCCBBBCBBBCBBCBBBBBBCCCBCCCCBBBBBBBCBBBCBCBCCCBBBCBCCCCBBBBBCBCBCCBCCCCBCCCBBBCCCBBBCCCCBCBCBBBBBCBBCBBBBCCCBCBBCCBBCBCBCCBCBBBBCCBCCBCBCBCBBBCCCBBCBBCCCBBBCCBBBBBCCCCCCCBBBCBCCCCBCBBBCCCBBBCBBCCBCBCBCBCBCCCBCCCCBCCBCCCBBB...
output:
299674 3 1 2 1 3 1 2 1 3 1 2 1 3 299996 2 299996 3 299996 2 299996 9 299996 8 299996 11 299989 10 299989 11 299989 10 299989 12 299988 11 299988 15 299986 14 299986 17 299981 16 299981 17 299977 16 299977 19 299977 18 299977 22 299973 21 299973 23 299973 22 299973 23 299972 22 299972 25 299970 24 29...
result:
ok moves = 299674
Test #36:
score: 0
Accepted
time: 23ms
memory: 18676kb
input:
300000 299996 CBCBCBBCCCCBBCBBCBBBCCCBBCCCCBBCBCCBBCCCCBCBBCCBBBCCCBCBCCCCCCBCCBCBBBBBCBCCBBCCCCCBBBBBCBBCCBBCCCCBBBCBBCCBCBCBBBCCCBCBCCBBBBCCCBCCBCBCBBBCBCCCBBCCBCCCBCBBCCCCCCBBBCCBCBCBBCBBBBCBBBCBBCBBBCCBBBCBCCCCBBCBCCCBBCBCBBCCCCBBCCBBCCBBBCCCBCBBCBBCCCCCBCBCCCBCCCCCCBCBBCBCBCBCBCCBCBBBCBCCCBBBCC...
output:
299466 3 299996 2 299996 4 299996 3 299996 5 299992 4 299992 5 299992 4 299992 9 299992 8 299992 9 299992 8 299992 10 299992 9 299992 10 299991 9 299991 11 299991 10 299991 11 299991 10 299991 11 299988 10 299988 14 299988 13 299988 14 299984 13 299984 18 299982 17 299982 18 299982 17 299982 19 2999...
result:
ok moves = 299466
Test #37:
score: 0
Accepted
time: 16ms
memory: 20284kb
input:
299999 4 BBBCCBBBBCCCBCCCBCCCCBBBBBCBCCCBCBCBCCCBBBBBBBCBBBBCBBBBCBCCBCCCCCCBCCBBBCCCCCBBBCBCCBBBCBCBBCBCBCBCBBCBCBBBCBCBBBCCCCBCBBCCCBBBBCBBBBBBBBCCBCCBBCBBCCCCBCBCBBCBBCBBCBCBBBCCCCCCBBBBBBCBCBCCCCCCBBCBBCBBBCCBBBBBBBCBBBBBBCBCCBCBCCCCBBCCCCBBBBCCBCBBCCBCCCBCBCBBCCCCBBCBBBCBCBCCBBCBCBCCCCCBBCBCCCC...
output:
299540 5 1 4 1 5 299999 4 299999 11 299999 10 299999 11 299995 10 299995 11 299995 10 299995 12 299990 11 299990 15 299985 14 299985 16 299984 15 299984 17 299984 16 299984 18 299983 17 299983 19 299979 18 299979 20 299977 19 299977 28 299973 27 299973 29 299971 28 299971 29 299969 28 299969 29 2999...
result:
ok moves = 299540
Test #38:
score: 0
Accepted
time: 9ms
memory: 20536kb
input:
299999 299995 BBBBCCCBBBBBBBBCCBCBCBBBBCCCCBBCCCBBBBBCBBBCBBBCCBBCCCCBCBCBCCCCBBCBBCCBBBCBBBCBBBBBBBBCCBBCBBBBBBBCCCBCCBBBCBCBCCBBCBBCBCBBBBCBCBBCBCBCBBCCCBCCBCBCCBBBCBBCBCCBBCBCBBBBCCBCBCBCCCCBCCCBCBCCBCCCCBBBBBBCBCBCBCBCCBCBBBCCBBBCCBCBCCCBBBBBCCCBCCBCBCBCCCCBBCCCBBBBBCBBCCBBCBCCBBCCBBBBBBBCCCBCBC...
output:
299896 6 1 5 1 6 1 5 1 6 299998 5 299998 14 299998 13 299998 14 299995 13 299995 15 299995 14 299995 16 299994 15 299994 20 299994 19 299994 20 299994 19 299994 20 299994 19 299994 20 299989 19 299989 22 299988 21 299988 22 299988 21 299988 22 299988 21 299988 27 299987 26 299987 30 299987 29 299987...
result:
ok moves = 299896
Test #39:
score: 0
Accepted
time: 15ms
memory: 18668kb
input:
300000 3210 CCBBCBBCCBBBBCBBCBBCCCBCCCBBBBBCBBCBBCBCBCCBBCBBBCCCCCBBCCCCCCCCBBCBBBBBCCCBBCBBBBCCBBBCCCCBBBBBBCBBBCBBCCBBCCCBCBCCCCCCBCBBBCBCBBBCCCBCBCCCCBCBBCCBBBBBCBBBBCBBCBBCCCBCCBCCCBBCCBCCCCCCCCBCCBBCBBBBBBCBBBBBCBBCBCCBBBCBBCBCCBBBCCCCBCCBBBBBCBCBBCBBBBBBBBBCCCCBCBCCBCCCCCBBBCBBBCCBBCCCCCBBBCBC...
output:
299636 4 1 3 1 4 1 3 1 5 1 4 1 5 300000 4 300000 7 299994 6 299994 7 299991 6 299991 7 299990 6 299990 7 299989 6 299989 8 299989 7 299989 8 299988 7 299988 9 299986 8 299986 9 299986 8 299986 12 299986 11 299986 15 299986 14 299986 15 299986 14 299986 15 299985 14 299985 15 299983 14 299983 15 2999...
result:
ok moves = 299636
Test #40:
score: 0
Accepted
time: 17ms
memory: 19156kb
input:
300000 296790 BBCCBBCBCBBCCCCBBBCBBBCCCBBCCCCBCCCCBCCCBBCCBCBBBBBBBBCBCBCBCBCCBCBBCBBBBCBCBCCCCBBBBCCBCCBCCCCCCCCBBCBCBCBCCCBCCBCCBCBCBCCBCCBCBBBCCCCCBBBCCBCCCBBBBBCCBBCCBBCCCBCBBCBCCCBCBBCCBCBCCCCBCBBCBBBBCCCCBBCCBCCCBCBCBBBCBBCBBCBBBBBBCCCBBBCCBCCBBCCCCBBBCBBBCBCBCBBCBCBBBBCCCCBCBBCCBBBCBCBCCBBCBB...
output:
299960 4 299999 3 299999 4 299998 3 299998 6 299996 5 299996 7 299996 6 299996 9 299994 8 299994 9 299993 8 299993 9 299987 8 299987 9 299987 8 299987 12 299987 11 299987 15 299987 14 299987 15 299987 14 299987 15 299987 14 299987 17 299987 16 299987 17 299986 16 299986 17 299986 16 299986 17 299986...
result:
ok moves = 299960
Test #41:
score: 0
Accepted
time: 15ms
memory: 18652kb
input:
299999 3210 CBCBCBBCCCBBBBCCBCBCCCBBCBBCBBCBCCCCBCBCCCCBBBCBBBBCBCBCCBCBBBCBCBBCCBCCBBCCCCBCCBCCBBBBCBCCCBBBBCCBCCCCBCBCBBCCBBBBCCBBCCBBCBCBCCBCBCBBCCBCCCCCBCBBBBBBCBCCCCBCBBCCCCCCBBCCCCCBCBCBBCBCCBBCCBCCBBBBCBBCCCCCCBBCBBCCCCCBCCBBBBBBCBCCCCBCBBCBCBBBBBCCCCCBBBBCCCBCBBBBBCBCBBCBBBBBBCCCCCBBBBCCCBBB...
output:
299944 2 299996 1 299996 3 299993 2 299993 4 299993 3 299993 6 299993 5 299993 6 299992 5 299992 6 299992 5 299992 10 299988 9 299988 10 299986 9 299986 11 299985 10 299985 12 299985 11 299985 12 299984 11 299984 12 299980 11 299980 14 299978 13 299978 16 299978 15 299978 18 299978 17 299978 19 2999...
result:
ok moves = 299944
Test #42:
score: 0
Accepted
time: 24ms
memory: 19544kb
input:
299999 296789 CCCBBCCCCCCCBCBCBBCBBCCBBCBBCBCCBBBCCBBCCBBCCBCBCCBBCBBBCBCBCCBBCBCBCCBBBCBCBCBBBCCCBCBBCBBBCBBCBBBBBCBBCCBCCCCCCCCBBCCCCCCCBCCBBBBCCBBBCBCBBCCBCCCCBCCCCCCBCCBBBBBCCBBBBCBBBCBBCCBCCCCCCBCCBBCBBCBBCCCBBBCBBBCBCBBBBBCBCBBCCBCBBCBBBCCBCBBCBBBCBCBBBBBCCBBBBCCCCCBCBBBBCBCCCCBBBCCBBBCCCCCCBB...
output:
299914 5 1 4 1 5 299998 4 299998 12 299998 11 299998 13 299997 12 299997 14 299997 13 299997 14 299997 13 299997 15 299997 14 299997 15 299997 14 299997 17 299996 16 299996 17 299996 16 299996 18 299996 17 299996 18 299996 17 299996 19 299996 18 299996 21 299996 20 299996 21 299995 20 299995 21 2999...
result:
ok moves = 299914
Test #43:
score: 0
Accepted
time: 11ms
memory: 19328kb
input:
300000 98765 BBCBBCCBCBBBBCBCCCBBCBCBCCBCBBBBBCCBCBCBCCBCCCCCBCCCBCBBBBCCBCCBCCBBBCCBCCCCBBBCBCCCCCBCBCCCBBBCCBBBBCCCCBBBCBBBBBCBBCBCCCBCCBCCCCBBCBBBBBCCCBBBCCCBBBBBCCCBBBBBBBBCCCCCCBCBBBBBCBCBBCCBCBBCCBCBCCCBBCCBBBBCBCCBCBCBCCCCCBCBBCBCBBCBBBBBBBCCBBBCCBCCBCBCBBCCCCBCBBBBCBBCBCBCBBBBBBBBCCCBBBBCCCB...
output:
299684 2 299999 1 299999 2 299999 1 299999 3 299998 2 299998 3 299998 2 299998 5 299997 4 299997 6 299997 5 299997 6 299997 5 299997 6 299997 5 299997 6 299997 5 299997 7 299995 6 299995 10 299994 9 299994 10 299994 9 299994 11 299994 10 299994 12 299991 11 299991 14 299991 13 299991 15 299991 14 29...
result:
ok moves = 299684
Test #44:
score: 0
Accepted
time: 19ms
memory: 19584kb
input:
300000 201235 BBCCCBBBBCCCCCBBBBBBCCBBBBCCCBBBBCBBBCBBBBCBCBBBCCCBBCBCCBCBCBBBCBBBCCCCBBCCBBBCBBCBCCCCBBCBCCCBBCCCCCCBCBBCCCBCCBBBBCBBBCCCCBBCCBBCCCCBCCCBCBBBCCCBBCBBCCCBCBBCBCBCCBBBBBBCBCCCBBBCBCBBBBBBBCCCBCCCBBCBBBCCBCBBCBBCCBCCBBCBBBBCBBBBBBCBCBBCCBCCBCCCBCCBBCBBCCCCCBBCCCBCBCBCCCCBCBBCBCBCBCCCBB...
output:
299440 2 300000 1 300000 2 300000 1 300000 5 300000 4 300000 5 299997 4 299997 5 299997 4 299997 5 299994 4 299994 10 299994 9 299994 10 299994 9 299994 10 299992 9 299992 10 299990 9 299990 10 299990 9 299990 10 299989 9 299989 12 299989 11 299989 12 299989 11 299989 12 299989 11 299989 12 299989 1...
result:
ok moves = 299440
Test #45:
score: 0
Accepted
time: 19ms
memory: 19916kb
input:
299999 98765 CCBBCCBCBCBCBCCBBBCBCBBCCBBCBCCCBCBBCBBBCBCBCBCBBCBCCBCBBCCCBBBCCCBBCBBCCBBCBBBBCCBBBBBBBCCCCCBBBCBCCCCBCBBCBBBCBBCBCBCBCBBCCBCCCBCBCBCBBCBBCBBBCCCCCCBBCCBBBBCCBCCBBBCBCCBBCCBCCBBBBCBBBCCCCCCCCBCBCCCCCCBCCCBBCBBCBCCCBCCCCCCBBCBCBCCBBBBCBBCBBBCCCBCCCBCBCBBCBCCCBBBCBCBBCCCCCCCBBBCCCBCBCCC...
output:
299904 2 1 1 1 2 299994 1 299994 4 299994 3 299994 4 299994 3 299994 5 299992 4 299992 6 299992 5 299992 7 299991 6 299991 8 299991 7 299991 8 299990 7 299990 11 299986 10 299986 12 299986 11 299986 14 299985 13 299985 14 299984 13 299984 16 299982 15 299982 17 299982 16 299982 17 299980 16 299980 1...
result:
ok moves = 299904
Test #46:
score: 0
Accepted
time: 14ms
memory: 19784kb
input:
299999 201234 CCBBCCCBCBCBCBBBCCBCBCCBCCCCCCBCBCBBBBCBCCCBCBBCCCBBBBCBBBCBCBBBCCBCCCCCCBCCBCBCBCBCBBBCCBCBCCCBBBCBCBCBBBBBBCBBBCBCBBCBBCCBBBBCBCCBBBBCCCCCCCCCCBBBCCBCCBCCBBCBCBBCBBBBCCCBBBBCBCCBCCBBCCCBCCCBBBCCCBCCBCBBBBCCCBBCCCBCCCCBBBCBCCBCCCCCBCBBCCCCBBCBCBCCBCBBBBBCCBBCCBBCBBCCBCCBBCCBCBCCBBBBBB...
output:
299526 2 299998 1 299998 2 299997 1 299997 4 299996 3 299996 4 299996 3 299996 4 299996 3 299996 5 299995 4 299995 6 299994 5 299994 7 299993 6 299993 10 299993 9 299993 10 299992 9 299992 11 299992 10 299992 12 299990 11 299990 12 299990 11 299990 13 299987 12 299987 13 299987 12 299987 13 299985 1...
result:
ok moves = 299526
Test #47:
score: 0
Accepted
time: 23ms
memory: 18760kb
input:
300000 150000 CBBBBCCBCBBBBCBBBCBCBCBBCBBBBCBBCCBCCCBBBBCBCBBBBBBCCCCCCBCBBCCBCBCBBCBCBBBBBBCBCBBBBCCBCCCBBCCCBBCCCBBBBCCCCCBCCBCBBCCCCBCBBBBBBBBBBBBBBBCBBBCBBBBCBBBCCCBCBCCBBBCBBCCCCCCBBBCBBCBCBCBBCBCCCCBCCCCCCCCCBCCCBCBBBBBBBCBBCBBBBBBCCBBBBCCCCCCBBBCCCCCBCBCBBCBBCBCBCBBBCBBCCCBCCBCCBCBCBCBBBBBCBC...
output:
299434 2 300000 1 300000 6 300000 5 300000 6 300000 5 300000 7 300000 6 300000 11 300000 10 300000 14 299998 13 299998 15 299994 14 299994 16 299994 15 299994 18 299993 17 299993 22 299993 21 299993 24 299987 23 299987 24 299985 23 299985 25 299985 24 299985 25 299981 24 299981 25 299976 24 299976 2...
result:
ok moves = 299434
Test #48:
score: 0
Accepted
time: 11ms
memory: 19324kb
input:
300000 150000 BCCCCCCBCBBCCBBBBCBCCBCBCBCBCCCBCBCBBBCCCBCBBBCBBBBBBCBCBCCCBCCCBCCBBBBBCBCCCBCBCCCBCCBBCCBBBCBBBCBBCBCCBBBCBCCCBCBBCBCCCCBCCCCCBBCBCBCBBBCCBBCCBCCBCBBCCBBCCBBBBCCCBBCCBBBBBCCBCCBBBBBCBBCCBCCBBBCBBBBBBCCBBCCBBCBCBCCCBCBCCCBCBCBCBCCCBCCCCCBCCCCCBBBBBCCCCCBCBCCBCBBCCCCCBCBBCCBCBCBBCCBBCB...
output:
299902 2 1 1 1 8 1 7 1 9 1 8 1 9 299999 8 299999 11 299999 10 299999 11 299999 10 299999 11 299998 10 299998 11 299993 10 299993 12 299991 11 299991 14 299991 13 299991 15 299991 14 299991 16 299989 15 299989 17 299989 16 299989 20 299989 19 299989 21 299989 20 299989 22 299988 21 299988 22 299983 2...
result:
ok moves = 299902
Test #49:
score: 0
Accepted
time: 13ms
memory: 19124kb
input:
299999 150000 BCBCBBBBCCBCCCCCBCCBCBBCCBCBBBBBCBBBBCBBBCCCBCBBBBBBBBCCCBCCCBBCBBBCCCBBCBBCBBBCCBBCCBCCBBBCBBBCBBBBCCCCBBBBBCCCBCCBCBBBCBCCBCBCBCBBBCBCCCBBCCCCBCBBCCBBCCBCBCCBCCCCBCCCBCCBCCBBBCBCBCCBBCCBBCBBCCCCBCBBCCBCCBBBCBCBBBCCBCCCBBBBCBCBBCBBBCBCBBCCBCCBCCCBCCBCBCBCCBCBCCCBCCBBBCBBBCCBBCCBCBBCBC...
output:
299908 2 299999 1 299999 3 299994 2 299994 4 299991 3 299991 4 299990 3 299990 4 299990 3 299990 4 299989 3 299989 6 299988 5 299988 11 299988 10 299988 13 299987 12 299987 14 299986 13 299986 14 299983 13 299983 16 299981 15 299981 17 299979 16 299979 17 299978 16 299978 17 299978 16 299978 17 2999...
result:
ok moves = 299908
Test #50:
score: 0
Accepted
time: 4ms
memory: 20204kb
input:
299999 149999 CCCCBBBCBCBCCCBBCBBBCCCBBBBCCCBCBBCBBBBCCCCBBBCBBCCBCCCCCCCCBCCCBCBBCBBCBCBCCCCCCCBBBBBCBBCBCBCBBCCCBCBCCBBCBBBCCCCCBBBCCCBBCBBBBCCBCBBCBCCBCBCCBBCBBCBBCCBCCBBCCBBBCCCBCCCBCCCBBCCCCCBCBBCCCBCBCCBBBCCBCCCCBBCCBCCCCBCCCBBCBCCBBBCCCBCCBCCCCCCCBCCBBBCBBCCBBBCCBCBCBCBCCCBCBBCCBCBCBBCCCBCCCC...
output:
299948 6 299999 5 299999 6 299999 5 299999 6 299998 5 299998 7 299997 6 299997 8 299997 7 299997 11 299997 10 299997 11 299996 10 299996 12 299996 11 299996 12 299995 11 299995 12 299995 11 299995 15 299994 14 299994 15 299992 14 299992 15 299992 14 299992 15 299991 14 299991 18 299991 17 299991 19 ...
result:
ok moves = 299948
Test #51:
score: 0
Accepted
time: 14ms
memory: 18724kb
input:
300000 150001 CBBCCCBBCBBBCCCCBCCCBBBCBBCBCCBBCBCCBCBCCBBBCBCBBBBCCBCBBCCBCCBBCBCCCCCCCCBBCCCCBBCBBCCBBCBBCBBCBBCBBCBBBCBBBBCBBBBCBBBBBCBCBBBCBBCCCBBBBCCBBBBCCBBBCBBCCBCBCBCBBBBBBCCBBCCCCCBBBCBCBBCCBCCCCBBBCBBBBCCCCCCCBBCCCCBBCBBCCBBBCBBCBCCCCBBCBCCBBCBCCBCBBCCBBBCBCCCCBBBBCBBBBBBBBBCCCBBBBCBBBCCBCC...
output:
299890 2 1 1 1 4 299998 3 299998 4 299998 3 299998 4 299998 3 299998 6 299998 5 299998 9 299997 8 299997 9 299996 8 299996 9 299996 8 299996 9 299994 8 299994 10 299994 9 299994 10 299994 9 299994 10 299993 9 299993 13 299993 12 299993 15 299993 14 299993 16 299992 15 299992 16 299992 15 299992 18 2...
result:
ok moves = 299890
Test #52:
score: 0
Accepted
time: 7ms
memory: 19088kb
input:
300000 149999 BBBBCBBCCCBCCBBCBCCCCBBCCBBCBCBBBCCBCCBCCCBBBBCBCCCCBCCBBCCCCCCBCCCBBBCCCBCCCBCCCBCCBCBCCCCBBCCCBBCBCBBBCBCBBBBBBCBCCBCBCCCBBBBBBCCBCCBCCBBBCBCBBBBBCCBBBCCCBBBBBBBBCCCBCCCBCCBBCBCBCCBCCBCCBCBBBCCCCBCCCBCBBBCCBBCBCBBCCBCCBBCBCCBBBBCCCCBCBBCCCCBBBBCCBCCCCBCCCCBBCBBBBBCCBCBCCCBCBCCBCBCCCC...
output:
299656 2 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 3 1 2 1 3 1 2 1 6 300000 5 300000 8 300000 7 300000 8 300000 7 300000 9 300000 8 300000 13 300000 12 300000 13 300000 12 300000 15 299997 14 299997 15 299995 14 299995 16 299995 15 299995 17 299995 16 299995 17 299994 16 299994 17 299994 16 299994 19 299992 18 ...
result:
ok moves = 299656
Test #53:
score: 0
Accepted
time: 13ms
memory: 18780kb
input:
299999 150001 BCBCBCBBCBCBBCBCCCCCBCBCBBBCCCBCBCBCBCCBCCBBBCCBCCCCBCCBCCBBCBCBBCBCBCBBBBBCCBBBBCCBCBCBCCBBCBCCCBCBBCBCBBCBBBBCBBBCBBCBBBBCCBCBCCBCBCCBBCBCBCBBBCBBCCBBBCBBBBBCCCBBCBBBCBBBBCCBBCBCCBBCCBCBBCBBCBBBBBCBCBCBBBBBBBBCCBCBCCBBBBCBBCBBBCCCCCBBCBBBBCCCBCBCBCBCBCBCCCBBCBBCCBCCBCBCBBBBBBCCBCBBBC...
output:
299792 3 299999 2 299999 4 299998 3 299998 5 299996 4 299996 7 299996 6 299996 8 299996 7 299996 10 299996 9 299996 11 299996 10 299996 11 299996 10 299996 11 299996 10 299996 11 299996 10 299996 11 299995 10 299995 12 299991 11 299991 13 299991 12 299991 16 299985 15 299985 16 299985 15 299985 16 2...
result:
ok moves = 299792
Test #54:
score: 0
Accepted
time: 20ms
memory: 20276kb
input:
299999 149998 CBCCBCBCBCCBCCCCCBBCBCBCCCBCCCBBCBCBCCBBCBBCBBBCBBCCBCCBBCBBBBCCCBBCCBCBBBBBBBCBCCBBBCBBCCCCBBCBBCBCBCCBBCCCBCCCBBBCCBCBCBCBBBCBCCBBBCBCBCBCCCBCCBCCCBCCCCBCCBBCBBCBCCCCCBBCCCBBCBBCBBBCCBBCBCBCCBCBBCCBBBBBBBBBCCCBCCBBCCCCBBCBCCBCCCCCBBCCBCBCCBCCBCCBCBBBCBCCCCBBBBCBBBCBBCBBCCCBCBCBCBBBCB...
output:
299972 3 299999 2 299999 5 299999 4 299999 6 299999 5 299999 7 299999 6 299999 9 299999 8 299999 14 299999 13 299999 14 299996 13 299996 15 299996 14 299996 16 299996 15 299996 19 299996 18 299996 22 299996 21 299996 22 299996 21 299996 23 299996 22 299996 24 299987 23 299987 26 299987 25 299987 26 ...
result:
ok moves = 299972
Test #55:
score: 0
Accepted
time: 11ms
memory: 15380kb
input:
262143 194294 CBBBCCCBCBBBCBBCBCBCBCCBCCCBCBCCCBCCCCBCBBBCCCCBCCCCBBBBCBBCBCCBCBCCCBCCCBCCCBBBBCCCCCCCCBBCCBBCBCBBBBCBCCBBBBCCCBCBCBCCBCCCBCBCBCBBBBBBBCBBCCCCBBCCBCBCBBCBCCCBCBBBCCBBBBCBCCBCCCCCBCBBBBCBBBBBBBBBBBCBBCBCBCBBCCBCCBBCBCCCBBBBCCBCCBBBBCBCCCBBBCBCBCCCBCCBBBCCBBCBCCBBBCCBBCCCBCCCBCBBBCCCBC...
output:
262120 2 262143 1 262143 5 262139 4 262139 5 262137 4 262137 5 262137 4 262137 6 262137 5 262137 9 262136 8 262136 11 262133 10 262133 12 262132 11 262132 13 262131 12 262131 14 262130 13 262130 14 262129 13 262129 15 262129 14 262129 15 262129 14 262129 15 262129 14 262129 16 262129 15 262129 17 26...
result:
ok moves = 262120
Test #56:
score: 0
Accepted
time: 7ms
memory: 15260kb
input:
262144 149222 BBCCBCCCCCBCCCCCBCCBCBBCBCBCBBCCCCCBBBBBBBCCCBBBCCCCCBCBBCBCBCCCCCBCBBBBBBBCCCCBCBCBCBBBBBCBBBBCCBCCCBCCBCBCCCBBBCCCCCCBCCBBBCCBCBBBBCCCBBBCBCBBCBCCBCBCBBBCCBBCBBCBCCCCBCCCCBBCCCBCBCBCBBBCCCBCCBCCCCBCCCBCBCCBBBCBCBBCBCCBBCBBBBBBBBBBCBCBBBBCCCBCBCCCBBBBCCCBBBBCBBBCBCCCBBBCBCBBCBCBCCCCBC...
output:
261936 4 1 3 1 4 262143 3 262143 5 262139 4 262139 5 262138 4 262138 5 262138 4 262138 5 262138 4 262138 5 262138 4 262138 6 262135 5 262135 6 262135 5 262135 6 262134 5 262134 6 262133 5 262133 6 262132 5 262132 7 262128 6 262128 7 262128 6 262128 8 262126 7 262126 10 262124 9 262124 11 262124 10 2...
result:
ok moves = 261936
Test #57:
score: 0
Accepted
time: 13ms
memory: 15356kb
input:
262145 120549 BCBCBCCBCBBBBBCBBBCBCBCCCBBCCCCCCCCBCCCCCBBCCBCBBBBCCCBCBBCBBCCCCBCCCCBBBBCCBCBCBBBBCBBCBCBCBCCCBBCBBCCCBCCBBCCCBBCBCCCCCBCCCBCBCCBBCCBCCCBCBCCCCCBCBCBCBBCBCCCCBCBBCCBCCBCCCBBCBCBBBBCCCCCBBCBCCBBBBCCCCCCCBCBBCCCBBCCBBBBCCBBCBBCBBBCBCCBBBBBBBBBBBBBCBBCBBCBCCBBBBBBCBBBBBBBCBBCCCBBBBBCBCB...
output:
261964 2 262140 1 262140 3 262140 2 262140 4 262139 3 262139 6 262139 5 262139 7 262135 6 262135 7 262135 6 262135 7 262135 6 262135 7 262132 6 262132 7 262131 6 262131 8 262131 7 262131 8 262130 7 262130 8 262130 7 262130 9 262130 8 262130 10 262130 9 262130 13 262128 12 262128 13 262128 12 262128 ...
result:
ok moves = 261964
Test #58:
score: 0
Accepted
time: 21ms
memory: 19576kb
input:
299997 265881 CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB...
output:
299996 2 1 1 1 3 299997 2 299997 4 299996 3 299996 5 299995 4 299995 6 299994 5 299994 7 299993 6 299993 8 299992 7 299992 9 299991 8 299991 10 299990 9 299990 11 299989 10 299989 12 299988 11 299988 13 299987 12 299987 14 299986 13 299986 15 299985 14 299985 16 299984 15 299984 17 299983 16 299983 ...
result:
ok moves = 299996
Test #59:
score: 0
Accepted
time: 7ms
memory: 19824kb
input:
299998 76325 BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB...
output:
299998 2 299998 1 299998 3 299997 2 299997 4 299996 3 299996 5 299995 4 299995 6 299994 5 299994 7 299993 6 299993 8 299992 7 299992 9 299991 8 299991 10 299990 9 299990 11 299989 10 299989 12 299988 11 299988 13 299987 12 299987 14 299986 13 299986 15 299985 14 299985 16 299984 15 299984 17 299983 ...
result:
ok moves = 299998
Test #60:
score: 0
Accepted
time: 7ms
memory: 20244kb
input:
299999 236065 BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC...
output:
299998 3 1 2 1 4 299999 3 299999 5 299998 4 299998 6 299997 5 299997 7 299996 6 299996 8 299995 7 299995 9 299994 8 299994 10 299993 9 299993 11 299992 10 299992 12 299991 11 299991 13 299990 12 299990 14 299989 13 299989 15 299988 14 299988 16 299987 15 299987 17 299986 16 299986 18 299985 17 29998...
result:
ok moves = 299998
Test #61:
score: 0
Accepted
time: 9ms
memory: 19624kb
input:
300000 46255 CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC...
output:
300000 3 300000 2 300000 4 299999 3 299999 5 299998 4 299998 6 299997 5 299997 7 299996 6 299996 8 299995 7 299995 9 299994 8 299994 10 299993 9 299993 11 299992 10 299992 12 299991 11 299991 13 299990 12 299990 14 299989 13 299989 15 299988 14 299988 16 299987 15 299987 17 299986 16 299986 18 29998...
result:
ok moves = 300000
Test #62:
score: 0
Accepted
time: 8ms
memory: 19192kb
input:
299997 56982 BBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCCBBCBC...
output:
299996 4 299997 3 299997 4 299997 3 299997 5 299996 4 299996 7 299994 6 299994 8 299993 7 299993 8 299993 7 299993 9 299992 8 299992 11 299990 10 299990 11 299990 10 299990 13 299988 12 299988 14 299987 13 299987 14 299987 13 299987 16 299986 15 299986 16 299984 15 299984 17 299983 16 299983 19 2999...
result:
ok moves = 299996
Test #63:
score: 0
Accepted
time: 22ms
memory: 19208kb
input:
299998 129345 CCBBCCBCBBCCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBB...
output:
299998 4 1 3 1 4 1 3 1 6 299997 5 299997 7 299996 6 299996 7 299996 6 299996 9 299994 8 299994 9 299994 8 299994 10 299993 9 299993 12 299991 11 299991 12 299991 11 299991 14 299989 13 299989 15 299988 14 299988 15 299988 14 299988 16 299987 15 299987 18 299985 17 299985 19 299984 18 299984 19 29998...
result:
ok moves = 299998
Test #64:
score: 0
Accepted
time: 16ms
memory: 20072kb
input:
299999 265635 CBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCB...
output:
299998 3 1 2 1 4 299999 3 299999 4 299997 3 299997 6 299997 5 299997 6 299995 5 299995 7 299994 6 299994 9 299994 8 299994 10 299993 9 299993 10 299991 9 299991 11 299990 10 299990 13 299990 12 299990 13 299988 12 299988 15 299988 14 299988 16 299987 15 299987 16 299985 15 299985 17 299984 16 299984...
result:
ok moves = 299998
Test #65:
score: 0
Accepted
time: 13ms
memory: 18916kb
input:
300000 172035 BBCCBCBBCCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCCBBCBCCBBCCBCBBCBCCBC...
output:
300000 2 1 1 1 2 1 1 1 4 299999 3 299999 5 299999 4 299999 5 299998 4 299998 7 299996 6 299996 7 299996 6 299996 8 299994 7 299994 10 299993 9 299993 10 299993 9 299993 12 299992 11 299992 13 299990 12 299990 13 299989 12 299989 14 299989 13 299989 16 299987 15 299987 17 299987 16 299987 17 299986 1...
result:
ok moves = 300000
Test #66:
score: 0
Accepted
time: 3ms
memory: 9592kb
input:
300000 143374 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB...
output:
0
result:
ok moves = 0
Test #67:
score: 0
Accepted
time: 6ms
memory: 9380kb
input:
300000 59002 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...
output:
0
result:
ok moves = 0
Test #68:
score: 0
Accepted
time: 4ms
memory: 9524kb
input:
299999 85730 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB...
output:
0
result:
ok moves = 0
Test #69:
score: 0
Accepted
time: 0ms
memory: 9464kb
input:
299999 52075 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...
output:
0
result:
ok moves = 0
Test #70:
score: 0
Accepted
time: 3ms
memory: 9356kb
input:
300000 234800 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB...
output:
2 153043 61314 153042 61314
result:
ok moves = 2
Test #71:
score: 0
Accepted
time: 10ms
memory: 9400kb
input:
300000 24663 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...
output:
2 187616 271844 187615 271844
result:
ok moves = 2
Test #72:
score: 0
Accepted
time: 7ms
memory: 9372kb
input:
299999 82421 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB...
output:
2 175079 70453 175078 70453
result:
ok moves = 2
Test #73:
score: 0
Accepted
time: 11ms
memory: 9332kb
input:
299999 103379 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...
output:
2 285283 219999 285282 219999
result:
ok moves = 2
Extra Test:
score: 0
Extra Test Passed