Asked at Citadel Securities
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.
xxx::xxxxxxxx_xxxxx xxx x xxxx xx xxx xxx: xxx xxxxxx xxxxx xx xxxxxxx xx
xxx xxxxxx xx xxxxxx xxx xxxxxxxx. xxxxxxxx'x xxxxxxxxxx xxxx, xxxxx-xxxx
xxxxxx xxxxx xxxxxxxxxxx, xxx xxx xxxxx xxxxx xxxxx xxxxxxxxx xxxx xxx xxxx
xxxxxxx xxxx. xxx xxxxxxxx xxx xx x xxxxxx xxxx xxxx xxxxxx xxxxx xxxxx xxx
xxxxx, xxx xxxxxxxx xxx xxxxxxx xx x xxxxxxx xxxxxxxxxx xxxxxxxx xxxxxxx xx
xxxxx xxxxxxx xxx xxx xxxx xxx xxxx xxxxxxxxxx xxxxxxxxxx xxxxxxx xxxxx
xxxxxxxx.
xxxxxxxxx xxxxxxxxxxxxxx xxxx xxxxxx xxxx xxxx xxxx xxxx xxxx xxxx
xxxxxxxxxx. xxxxxxxx xx xx (xxxxxxxx, xxx) xxxxxxxxx: xxxxx xxxxxxxx
xxxxx, xxxx xxxxxx xx xxxxxxx xxx, xxxxx xxxxx xxxxx xxxxxxxxx
xxxxxxxxxxxxx.
xxxx xxxxxx(xxxx xxxx xxx, xxxx xxxx xxxxxxxx): xxxx xxx xxx. xxxxxxx
xxxxx (xxx xxxxxxx xxxxxxx) xx xxx xxx xx xxxxxxx xxxxxxx.xxx::xxxxxxxx<xxx::xxxx<xxxx xxxx, xxxx xxxx>> xxxxxxx_xxx(): xxxxxxx
xxx xxxxxxx (xxx, xxxxxxxx) xxx xxx xxxxxxxx xxxxxxx, xxx::xxxxxxx xx
xxxxx. x xxx xxxxxxxxx xxxxxxx xxx xx xxxxxxxx xxxxx xxxxx.xxxx xxxxxxxx_xxx(xxxx xxxx xxx, xxxx xxxx xxxxxxxxxxx): xxxx xxx xxx'x
xxxxxxxx xx xxxxxxxxxxx xx xxx xxx xx xxxxxxx xxx xxxxxxxxxxx xx
xxxxxxxx xxxxx xxxx xxx xxxxxxx xxxxxxxx; xxxxxxx xxxxxxx xx xxx.xxx::xxxx_x xxxx() xxxxx.xxx::xxxxxxxx_xxxxx xx xxxxxx. xxx xx xxxxx-xxxxxx xxxxxx xxxx xxxx x xxx
xxxx xxx xx xxxx xxxxx, xxx xxxx xxxx xxxxx xxxxxxx xxxxxxx xxxxx xxxx:
xxxxxx xxx xxxxxxxx_xxx xxxx xx, xxxxxxx_xxx xxxxx xxx xxxx xxxxxxx
xxxx xxx xxxx xxx xxxxx xxxx.
[]{ xxxxxxxxxxxxxx x; xxx::xxxxxx<xxxx xxxx> xxx; x.xxxxxx(xxx, x); x.xxxxxx(xxx, x); x.xxxxxx(xxx, x); xxx.xxxx_xxxx((xxxx xxxx)x.xxxx()); xxxx x = x.xxxxxxx_xxx(); xxx.xxxx_xxxx(x->xxxxx); xxx.xxxx_xxxx(x->xxxxxx); xxxx x = x.xxxxxxx_xxx(); xxx.xxxx_xxxx(x->xxxxx); xxxx x = x.xxxxxxx_xxx(); xxx.xxxx_xxxx(x->xxxxx); xxx.xxxx_xxxx(x.xxxxxxx_xxx().xxx_xxxxx() ? x : x); xxx.xxxx_xxxx((xxxx xxxx)x.xxxx()); xxxxxx xxx; }()
// [x, xxx, x, xxx, xxx, x, x] (xxxxxxxx x xxxxx; xxx xxx xxxxxxxx-x xxxx xxxxxxx xx xxx xxxxx)
[]{ xxxxxxxxxxxxxx x; xxx::xxxxxx<xxxx xxxx> xxx; x.xxxxxx(x, xx); x.xxxxxx(x, xx); x.xxxxxx(x, xx); xxx.xxxx_xxxx(x.xxxxxxxx_xxx(x, xx) ? x : x); xxx.xxxx_xxxx(x.xxxxxxxx_xxx(x, xx) ? x : x); xxx.xxxx_xxxx(x.xxxxxxxx_xxx(xx, x) ? x : x); xxx.xxxx_xxxx(x.xxxxxx(x, x) ? x : x); xxxx x = x.xxxxxxx_xxx(); xxx.xxxx_xxxx(x->xxxxx); xxxx x = x.xxxxxxx_xxx(); xxx.xxxx_xxxx(x->xxxxx); xxx.xxxx_xxxx(x.xxxxxxxx_xxx(x, xx) ? x : x); xxxx x = x.xxxxxxx_xxx(); xxx.xxxx_xxxx(x->xxxxx); xxx.xxxx_xxxx(x->xxxxxx); xxxxxx xxx; }()
// [x, x, x, x, x, x, x, x, xx] (xxxxxx, xxxxxxx xxxx xxx xxxxxxxxx xxxxxxx xxx xxxxxxxx; xxx x xxxxx xxx xxxxx xxxxx xxx xxxxxxxx)
xxxx xxxx; xxxx xxx xxxxxx xxxxx xxxx
xxxxxxxx.xxxxxxx_xxx xxxx xxxxx xxx xxx xxxxxxx xxxxx xxxx xx xxxxxxx
xx xx, xxxxxxx xxxx xxx xxxxxxxxx.This problem is only available to subscribers.