Asked at Citadel Securities, Hudson River 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.
xxxx xxx xx x xxxx xxxxxx, xxx x xxxxx xxxx. xxx xxxxxxxx xxxxxxxx x
xxxxxxxx, xxxxxxxxx xxxxxxxxxxxxxxx: xxxxx xxxx xx xxxx xxxxxxx xxxxxxx
xxxxxxx, xxxxxxxxx xxxx xx x xxx, xxx xxxxx xx xxxx x xxxxx. xx xxxxxxxx,
xx xxxxxx x xxxxxx xxxxxx-xxxxxxxx xxxx xx x xxxxxxxx, xxx xx xx xxxxx xx
xxxx xxxxxxxx xxxx. xxxxxxxxx xx xxxxxxx x xxxx xx xx,xxx xxxxxxxxx. xxxx
xxx xx xx xxxx xx xxxxxxx xxxxxxx xxxxxxxx xxx xxxxxx xxx.
xxx xxxxxxxx xxxxxxxx xx xxx xxxx:
x. xxxxx xxx xxxxxx xx xxxx. xxxx xxxxxx-xxxxxxxx, xxxxxxx xxxxxxxxx
xxx xxxxxxxx. (xxxx xxx xx x xxxxx xxxxx xxx; xxxxx xxxx xxxxxx xx.)
x. xxxxx xxxxxxxxxx xxxx, xxxxx xxxxxxxxx xxx xxxxx xx xxxxxxx xxxxxxx
xxx xx xxx, xxx xxx xxxxxxx xxx xxxxxxx xxxxxx xxx::xxx xxxxx.
x. xxxxxxxxxxxx xxxx xxxx xxxxxxxxxx xxxxxxxx xxxxxxx xxxxxx xx xxx
xxxx.
xxx xxx xxx xxxx xxxxxxxx:
xxxxxxxx xxxxxxxxxxxxxxx(xxx::xxxx_x xxxxxxxxxx): xx xxxx
xxxxxxxxxx xxxxxxxx xxxxxxx xxx xxxx xx xxxxxxx.xxxx xxxxxxxxx(xxxxx xxx::xxxxxx& xxxxxx, xxxx xxxx, xxxx xxxx xxx):
xxxx xx 'x' (xxxxxxxx += xxx) xx 'x' (xxxxxxxx -= xxx). x xxxx
xxx xx xxxxxxx xxxxxx xxxxxxx xx, xxxxxx xxx xxxx xxxxxxx xxxxxx
xxxxxxxxxx xxxxxxx, xx xxxxx xxxx xxx xxxx xx xxxxxxxx xxx xxxxx
xx xxxxxxxx. xxxxx xxx xxxxxxx-xxxxxxx xxxxxxx xxxxxx xxxxx. xxxxxx
xxxx xxxx xxxxxxx xxxxxxxxxxxx.xxxx xxxx xxxxxxxx(xxxxx xxx::xxxxxx& xxxxxx) xxxxx: xxxxxxx
xxxxxxxx; x xxx xxxxxxx xxxxxxx. xxxxxx xxxxxxxxxxxx xxxx xxxxx.xxx::xxxx_x xxxxxxxxxxx() xxxxx: xxxxxx xx xxxxxxx xxxxxxx.xxxx xxx xxx xxxxxxx xxxxxxxx xx xxx xxxxxxxx: x xxxxx-xxxx-xxx xx xxx
xxx xxxx xx xxxx xxxx xxxxxx xxx xxxxx xxx xxx xxx, x xxxxxxxx
xxxx-xxxxxx-xxxxx (+=) xxxx xxxxxxx xxx xxxxx, x xxxx() xxxx xxxxxxx
xxx xxxx xxxxxxx xxx xxxxxxxxx xxxxxxxx, xxx xxx xxxxx xxxx xx
xxxxxxxxxxx xxxxx xxx xxxxx xxx xxxxx xxx xxxxxx. xxxxx xxx xx xxxxx xx
x xxxx xxx xxxxx xx x xxxx xxxxxxxx xxxxxx. xxx xxx xxxx xxx, xxxx xxxx
xxxxx xxxxxx xx xxxxxx xxxxx xxxx xxx xxxxx, xxx xxx xxxxx xxxxx xxxxxxx
xxxxxxxx xxxxxxx.
[]{ xxxxxxxxxxxxxxx xxxxxxx(x); xxx::xxxxxx<xxxx xxxx> xxx; xxx.xxxx_xxxx(xxxxxxx.xxxxxxxxx("xxxx", 'x', xx)); xxx.xxxx_xxxx(xxxxxxx.xxxxxxxxx("xxxx", 'x', x)); xxx.xxxx_xxxx(xxxxxxx.xxxxxxxx("xxxx")); xxxxxxx.xxxxxxxxx("xxxx", 'x', x); xxx.xxxx_xxxx(xxxxxxx.xxxxxxxx("xxxx")); xxx.xxxx_xxxx(xxxxxx_xxxx<xxxx xxxx>(xxxxxxx.xxxxxxxxxxx())); xxxxxx xxx; }()
// [x, x, x, -x, x] (xxx xx, xxxx x xx x; xxxxxxx xxxxxxx xxxx xxxx xxxxx)
[]{ xxxxxxxxxxxxxxx xxxxxxx(x); xxx::xxxxxx<xxxx xxxx> xxx; xxxxxxx.xxxxxxxxx("xx", 'x', x); xxxxxxx.xxxxxxxxx("xx", 'x', x); xxxxxxx.xxxxxxxxx("xx", 'x', x); xxx.xxxx_xxxx(xxxxxxx.xxxxxxxxx("xx", 'x', x)); xxx.xxxx_xxxx(xxxxxxx.xxxxxxxx("xx")); xxx.xxxx_xxxx(xxxxxxx.xxxxxxxx("xx")); xxx.xxxx_xxxx(xxxxxxx.xxxxxxxx("xx")); xxx.xxxx_xxxx(xxxxxx_xxxx<xxxx xxxx>(xxxxxxx.xxxxxxxxxxx())); xxxxxx xxx; }()
// [x, x, x, x, x] (xxxxx xxxxxx xxxxxxxx; xxxxxxxx xxxx xxxxxx xx xxxxx)
xxxxxxxx() xxx xxxxxxxxxxx() xxx xxxxxx xxxxx xxxxx xxx xx xxxxxx;
xxxx xxxx xxxxxx xxxx xxxxxxxxxx xxxxxxxxx xxxxx, xxxxx xxxxx, xxx
xxxxx xxxxxxx x xxxx-xxxxxxx xxxx.This problem is only available to subscribers.