Asked at XTX Markets, Jump Trading
Theory: Concurrency From ScratchRead the problem, hints and solution here. The editor needs a bigger screen: open this page on a laptop to write and run your code.
x xxxxxxx-xxxx xxxxxxx xxxx xx xxx xxx xxxx xx xxxxx xxxx xxxxxxx: xxxxx
xxxxxx xxxxx xx, x xxxxxxxxxx xxxxxx xxxxx xx xxxx x xxxxxx. xxx x xxxxx
xxxxxx x xxxx xxxx xxx xxx xxxx xxxxxxxxxx xxxx xxxxxx xxxx. xxx xxx
xxx::xxxxxx<xxxx xxxx> xxx xxx xxxx xxxx xxxxxxxxx xxxxxxx xxx xxxxxx
xx xxx: xxxxx xxxx xxxx xxxxxxxxxx xxxxx xxx xxxx xxxxx xxxx xxxx xxxx
xxxxx xxxxx xxxx, xxx xx x xxx xxxxxxx xxxxxxxxxx xxx xxxxxx xxx xxxxxxx
xxxxxx xxxxxxx xxx xxxxxxxxxx. xxx xxxxxxxx xxx xx xxxxxxxx: xxxx xxxx
xxxxxx xxx xxx xxxxxx xxxxx xxx xxxx xxxxxxx xxx xxx xxxx xxxxxxx.
xxxxxxxxx xxxxxxxxxxxxxx:
xxxxxxxx xxxxxxxxxxxxxx(xxx::xxxx_x xxxxxxxxxx): xxxxxxx xxxxxxxxxx
xxxxxxxxxxx xxxxxx, xxxx xxxxxxxxxxx xx xxxx. xxxxxxxxxx >= x.xxxx xxxxxxxxx(xxx::xxxx_x xxxxxxxxx): xxxx x xx xxxxx
xxxxxxxxx % xxxxxxxxxx xxxx x xxxxxxx xxxxxx xxx
(xxx::xxxxxx_xxxxx_xxxxxxx). xxxxxxx xxxx x xxxxxx xxx-xxxxxx xxxx xx
xxxxxxxxx xxxxxxx xxxx xx xxxxxxxxx xxxxxx. xxxx xx xxxx xxxx xxx
xxxxxx xx xxxxxxx xxxxxxxxxxxx, xxxx xx xxxxx xxx xx xxx xxxx.xxxx xxxx xxxx() xxxxx: xxx xx xxx xxxxxx. xxxxx xxxxxxxxxx xxx xx
xxxxxx xxxx xx x xxxxx xxxxxxxx xxxxx xxxxx (xxxxxxxxxx xxxxxxxxxx);
xxxxx xxx xxxxxxxxxxxx xxxxxxx xxx xxxxxx xx xxxx xx xxxxx.xxx::xxxxxx<xxxx xxxx> xxxxxxxxxxx() xxxxx: xxx xxx-xxxxx xxxxxx, xx
xxxxx xxxxx. xxxx xxxxxxxxxxx xxxxxxxx xx xxxx().xxxx xxxxx xxxx xxxx xx xxx xxx xxxxx xxxx (xxxxxxx(xx)), xx xxx
xxxxxxxx xx xxxxxxxx: xxxxxx xxxx xxxxx x xxxx xxxxx xxxx-xxxx xxxxxxx
xxxx x xxxxxx xxxxxx. xxxx xxxx xxx::xxxxxx xx xxxxxxx xxxxxxxx xxx
xxxxxxx, xx xxx::xxxxxx<xxx::xxxxxx<xxxx xxxx>> xxxx xxx xxxxxxx xxxx x
xxxxxxxxx xxxxxx; xxxx xxxxxxx xxxx xx xxxxx xxxx.
[]{
xxxxxxxxxxxxxx xxxxxxx(x);
xxx::xxxxxx<xxx::xxxxxx> xxxxxxx;
xxx (xxx x = x; x < x; ++x) {
xxxxxxx.xxxxxxx_xxxx([&xxxxxxx, x] {
xxx (xxx x = x; x < xxxxxx; ++x) xxxxxxx.xxxxxxxxx(xxxxxx_xxxx<xxx::xxxx_x>(x));
});
}
xxx (xxxx& xx : xxxxxxx) xx.xxxx();
xxxxxx xxxxxxx.xxxx();
}()
// xxxxxxx (xxxxxxx xxxx, xxx xxxxx xxxxx xxxx: xx xxxxxx xxxx)
[]{ xxxxxxxxxxxxxx xxxxxxx(x); xxx (xxx x = x; x < xx; ++x) xxxxxxx.xxxxxxxxx(xxxxxx_xxxx<xxx::xxxx_x>(x)); xxx::xxxxxx<xxxx xxxx> xxxxxx = xxxxxxx.xxxxxxxxxxx(); xxx::xxxx(xxxxxx.xxxxx(), xxxxxx.xxx()); xxxxxx xxx::xxxxx<xxxx xxxx, xxxx xxxx, xxx::xxxxxx<xxxx xxxx>>(xxxxxxx.xxxx(), xxxxxx_xxxx<xxxx xxxx>(xxxxxx.xxxx()), xxxxxx); }()
// (xx, x, [x, x, x, x]) (xxxxx x..x xxxx x xxxxxx xxx xxxxxx)
xxxxxxxxxx xxxxxxx x xxx xx; xx xx x xxxxxxx xxx (x.x xxxxx xx^x)
xxxxxxxxxx xxx xxxx.xxxxxxxxx xxxx xx xxxx-xxxx xxx xxxx-xxxx: xxx xxxxxxx xxxxx_xxx,
xx xxxxx, xx xxx xxxxx xxxx, xx xxxxxx-xxxxx xxxxxxxxxxxx xxxxxxx.This problem is only available to subscribers.