Asked at Akuna Capital, IMC Trading, Hudson River Trading, Citadel Securities, The Voleon Group
Theory: Order Books and MatchingRead the problem, hints and solution here. The editor needs a bigger screen: open this page on a laptop to write and run your code.
Available in Python and C++. You are solving it in Python. Switch to C++
xxxxxxxxx x xxxxxx-xxxxxxxxxx xxxxx xxxxx xxxx xxxx xxxxx-xxxx xxxxxxxx, xxx xxxxxxxx xxxxxx xx xxx xxxx xx xx xxxxxxxx xx xx xxxxxxxx xxxxxxxxx. xx xxxx xxxxx, xxx xxxxx xxxx xxxxxxx xxxxx xxxxx xxxxx.
xxx xxxxxxx x xxxx xx xxxxx xxxxxxxx, xx xxxxxxx xxxxx. xxxx xxxxxxx xx x xxxxx xxxxx xx x xxxxxx:
xxxxx_xx, x xxxx (xxx xx xxxx), xx xxxxxxx
xxxxx xx xxxxx, xxx x xxxxxxxx xxxxxxx xxx. xxx xxxxx_xx xxxxxx xx
xxxxx xxxxxx xxx xxxxxx.xxxxx_xx xx xxxxxx: xx xxxxxxx xxx xxxxx'x xxxxxxxxx
xxxxxxxx xxxx xxx xxxx. xxxxxxxxxx xx xxxxxxx, xxxxx xxxxxx, xx
xxxxxxx-xxxxxxxxx xxxxx xx x xx-xx.xxxx xxxxxxx xx x xxxxx:
("xxxxx", xxxxx_xx, xxxx, xxxxx, xxx): xxxx xx "x" (xxx) xx "x"
(xxxx).("xxxxxx", xxxxx_xx).xxxxxxxx xxxxx, xxxxxxxxx:
x. xx xxxxxxxx xxx xxxxxxx xxxxx xxx xxxxx xx >= xxx xxxx (xxxxxx) xxx
xxxxx; xx xxxxxxxx xxxx xxxxxxx xxxxx xxx xxxxx xx <= xxx xxxx (xxxxxxx)
xxx xxxxx.
x. xxxxx xxx xxxxxxxx xxxxx xxx xxxxxxxxx xxxxxxxx xxx xxx xxxx xxxxxxx, xx
xxxxx xxxxxxx xxxxxxx xxxxxx xx xxx xxxx xxxxxxxx xxxxx xxxxx, xxx
xxxxxx x xxxxx xxxxx xx xxxx xxxxx xx xxxxxxx (xxxx xxxxxxxx).
x. xxxx xxxx xxxxxx xxx(xxxxxxxx xxxxxxxxx, xxxxxxx xxxxxxxxx) xxx xxxxxxxx
xx xxx xxxxxxx xxxxx'x xxxxx, xxx xxx xxxxxxxx xxxxx'x.
x. x xxxxxxx xxxxx xxxxxxxxx xxxxxx xxxxx xxx xxxxx xxxxxxxx xxx xxx
xxxxxxxxx. xxxx xxx xxxxxxxx xxxxx xxxxx xxxxxxxx (xx xxx xxxxxxxx xxxx
xxxxxxx), xxx xxxxxxxxx xxxxxxxx xxxxx xx xxx xxxx xx xxx xxxxx xxxxx,
xxxxxxx xxx xxxx xx xxxx xxxxx xxxxx'x xxxxx.
xxxxxxxxx xxxxxxx_xxxxxx(xxxxxx) xxxxxxxxx xxx xxxxx xx xxxxxxxxx xxxxx,
xxxx xxxx xxxxxxx xxx_xxxxx_xx, xxxx_xxxxx_xx, xxxxx xxx xxx,
xxxxxxxxxx xx xxxxx xxxx xxx xxx xxxxxxxx xxxxx.
xxx xxxxxxx_xxxxxx(xxxxxx: xxxx[xxxxx[xxx, ...]]) -> xxxx[xxxxx[xxx, xxx, xxx, xxx]]: ...
xxxx xxxx xx x xxxxx (xxx_xxxxx_xx, xxxx_xxxxx_xx, xxxxx, xxx).
xxxxxxx_xxxxxx([("xxxxx", x, "x", xxx, x), ("xxxxx", x, "x", xxx, x), ("xxxxx", x, "x", xxx, x)])
# [(x, x, xxx, x), (x, x, xxx, x)]
# xxx xxx xxx x xxxxx xxx xxxx xxx (xxx) xxxxx, xxxx xxx xxx xxx; xxxx xxxx
# xxxxxx xx xxx xxxxxxx xxxxx'x xxxxx.
xxxxxxx_xxxxxx([("xxxxx", x, "x", xxx, x), ("xxxxx", x, "x", xxx, x), ("xxxxx", x, "x", xxx, x)])
# [(x, x, xxx, x), (x, x, xxx, x)]
# xxx xxxx xxx x xxxx xxx xxx xxx xxxxx xx xxxx xxxxxxxx: xxxxx x xxxxx,
# xxxx xxxxx x xxxxxxxxx; xxxxx x xxxxx x xxx xxxxxxx xx xxx.
This problem is only available to subscribers.