Asked at Jane Street
Theory: Data Structures You Implement, Not ImportRead 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 C++. Switch to Python
x xxxx xxxx xxxxx x xxxxx xxxxxxxxx, xxxx xx x xxxx'x xxxxx xxxxxxx xx xxxx xxx xxxxxx. xxx xxxx xxxxxxx xxxxx xx xxxx xx, xxx xxx xxxx xxxx xxxx xxxxxx xx xxx xxxx xxxxxx xxxx xxxxxxxxx xx xxxx xx xxxxxxx. xxxxxxxxxx xxx xxxxx xxx xxxxxxx xxx xxx xxxx, xx xxx xxxx xxxx xxx xxxxxxx xxxxxx xxxx xxxxxxx xxxxx xxxx xxxxxx.
xxx xxxx xxx (x) xxxxx, xxxxxxxx (x) xx (x - x). xxxxxxx[x] xx xxx
xxxxxx xx xxxx x, xxx xxxxxxx xxx xxxxx xx -x: xxxx xxxx xx xxx xxxx.
xxx xxxx xxxx xxx xx xxxx x. xx xxx xxxxx xx xxxx xx xxxxxxxx.
x xxxx xx xxxxxxxxx xxxx xx xxxxx xxx xx xxxxx xx xxxx:
xx xxxxxxxxx x xxxx xxxxx xxx xxxx, xxxxx xxxxx xxxxx xx xxx xxxxxx, xxx xxxxx xxxx xx xxx xxxx xx xxx xxxx. xx xxxx xxx xxxx xxx xxx xxxxxxxx, xxx xx xxxx xxx xxxx xxx xxxxxxxx xx xxx xxxxxxxxx. xxx xxxx xxx xx xxxxxxxx.
xxxxxxxxx x xxxxx xxxxxxxx(xxxxxxx) xxxx xxxxx xxxxxxx:
xxxxxx(x): xxxxxx xxxx x. xxxxxxxxx x xxxx xxxx xx xxxxxxx xxxxxxxx
xxxx xxxxxxx.xxxxxxxx(x): xxxxxxxx xxxx x. xxxxxxxxxxx x xxxx xxxx xx xxx xxxxxxxx
xxxx xxxxxxx.xxxxx(): xxxxxx xxx xxxxxx xx xxxxxxxxx xxxxx.xxxxxxxxx(): xxxxxx xxx xxxxxxxxx xxxxx xx xxxxxxxxx xxxxx.xxx xxxxx xxxxx xxxx xxxxx xxxxxxx xxx xxx_xxx(xxxxxxx, xxx) xxxxxx
xxxxxxx xx xxx xxxxxxxx (xx xxx xxxxxx xx). xxxx xx xx ("xxxxxx", x),
("xxxxxxxx", x), ("xxxxxxxxx",) xx ("xxxxx",). xxx xxxxxx xxxxxxx x
xxxx: xxx xxxx xx xxxxx xxxxxxxxx() xxxxxx, xx xxxxx, xxx xxx xxxx xx
xxxxx xxxxx() xxxxxx, xx xxxxx.
# x
# / |
# x x x
# /
# x x x
# /
# x x
xxxxxxx = [-x, x, x, x, x, x, x, x, x]
xxx_xxx(xxxxxxx, [("xxxxxx", x), ("xxxxxxxxx",), ("xxxxx",),
("xxxxxx", x), ("xxxxxxxxx",), ("xxxxx",),
("xxxxxxxx", x), ("xxxxxxxxx",), ("xxxxx",)])
# ([[x, x, x, x, x], [x, x, x, x, x, x, x], [x, x, x]], [x, x, x])
# xxxxxxxxx x xxxxx x, xxx xxxxxxx x xxx xxx xxxxxxxxx x, x xxx x.
# xxxx x xx x xxxxxxx xx xxx xxxxxxxx x, xx xx xxxxx xxxxxx.
xxx_xxx(xxxxxxx, [("xxxxxx", x), ("xxxxxxxxx",), ("xxxxxx", x), ("xxxxxxxxx",),
("xxxxxxxx", x), ("xxxxxxxxx",), ("xxxxxxxx", x), ("xxxxx",)])
# ([[x, x, x, x], [x, x, x, x], [x]], [x])
# xxxxxxxxx x xxxxx xxx xxxxxxxx x xxx x xxx xxx xxx xxxxxxxx x xxx x.
# xxxxxxxxx xxx xxxx xxxxx xxxx xxx xxxx.
x xx x xxxxx xxxx.xxxxx() xxxx xxxx (x(x)) xxxx. xxxxxx xxx xxxxxxxx xxx xxxx xxxx
xxxxxxxxxxxx xx xxx xxxxx xx xxx xxxx.xxxxxxxxx() xxxxxx xxxx xxxx xxxxx xx xxx xxxx xx xxx xxxxxx, xxx xxx
xxxx xx xxx xxxx: xxx xxxxx xxx xxx xxxx xxxxx xx x xxxxx xxxx xxxx xxxx x
xxx xxxxx xxxxxxxx.xxxxxx xxxx xxxxxx xxxxx
xxxxx xx xxx xxxxxx xx xxx xxxx.xxxxx xxxxxxxx {
xxxxxx:
xxxxxxxx xxxxxxxx(xxxxx xxx::xxxxxx<xxx>& xxxxxxx);
xxxx xxxxxx(xxx x);
xxxx xxxxxxxx(xxx x);
xxxx xxxx xxxxx() xxxxx;
xxx::xxxxxx<xxx> xxxxxxxxx() xxxxx;
};
xxx xxxxxxxx'x xxx_xxx xxxxx xxx xx {"xxxxxx", x}, {"xxxxxxxx", x},
{"xxxxxxxxx"} xxx {"xxxxx"}, xxx xxxxxxx x
xxx::xxxx<xxx::xxxxxx<xxx::xxxxxx<xxx>>, xxx::xxxxxx<xxxx xxxx>>: xxx
xxxxxxxxx xxxxx, xxxx xxx xxxxxx. xxx x++ xxxxxxxxxxx xxxxx xxx xxxxxx:
x xxxx xx (xx^x) xxxxx xxx xx xx (x.x xxxxx xx^x) xxxxxxxxxx.
This problem is only available to subscribers.