Asked at DRW, Akuna Capital
Theory: C++ InternalsRead 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 xxxxxxxxx xxxx-xxxxxx xxxxxxxx, x xxxx xxxxxxxx xxx xxxxx, xxx x
xxxxxxxxx xxxx xx xxx xxxxxxx xx xxxxx xxx::xxxxxx (xxxx xxxxx, xxxxxxxx
xxxxxxxxxxx). xx xxxxxx xxx xxxx. xxxxx xxxxx xxxxx xxx xxxxxxxxx xxxxx xx
xxxxxxxx xxxxxx xxx xxx xxxxxx xxxx xxxx xxxx xx xxx xxxxx -xxxxxx.
xxxx xx x xxx-xxx-xxx xxxxxxx: xxx xxxxxx xxxxxxxx xxx xxxxxxxx, xxxxxx xxxxx. xxxxxx xxx xxxxxxxxx xxxxxxxxx xxxxxxx xxxxxxxx xxx xxxxxx xxxxxxxxx xx xxx xxxxxxxxxxxxxxx xxxxx.
xxx xxx xxxxxx, xxxxxxxx:
x. "xxxxxx xx xxx xxxxxx xxxx xxxxxx. xxxxxxx xxxxxxx x xxxx xxxxxxxxx
xxxxxxx xxx xxxxxxxx, xxx xxx xxxxxx xxxxxxx xxxxxxx x xxxxxx xxxxx xxxxx
xxxxx xxxx xxxx xx xxx xx xxxxx."
x. "xxxxxxxxx xxx xxxxxxxx xxxx xxxxxxx xxxxx x xxxxxx xxxxx xxxx. xxx xx
xxx xxxx xxxx xxxxx x xxxxxx xxxx xxxxxxxx xx xxxxxx, xxx xxxxxxxx xxxx
xxxx xx -xxxxxx."
x. "xxxxxx xxxxx xxxxx xxxx xxxxx xxxxxxxxxxxx xxx xxxxx xxxxx xxxx, xxxx
xxxxxx xxx xxxxxxxxxx xxxx."
xxxxxxxx xxxx xxxx xxx xxxxxxx xxxx xxx xxxxxxxx xxxxx_xxxxxx /
xxxx_xxxxxx xxx (xx xxx xxxx xxx/xxxxxx xxxxxxxx). xxx xxxxxxxxxxxxxxx
xxxxx xxx xxxx xxxxxxxxxx xxxxxxx xx xxxxxx: xxxxxxx xxxxxxxxx xxxxx xxxx
xxxxx (-xxxxxx), xxxxx xxxxxxx xxx xxxxxxxx xx xxxxx (-xxxxxx) xxx
xxxx xxxxxx xx xxxxx xxxxx xxx xxxxxxxxxxxxx, xxx x xxxxxxxx xxxx xx xxxxxxx
xx xxxxxx_xxxxx() xxxxxx xxxx xxxxxxxx. xxx xxxxx xxxxxx xxx xxxxxxxx:
xxxxx xxxxxxx xxxx xxxx xxx xx xxxxx, xxxxxx() == xxxxx() xxx
xxxxxx_xxxxx() == x.
[]{ xxxxx_xxxxxxxx(); xxx::xxxxxx<xxx> xxx; { xxxxxxxx x; x.xxxx_xxxx(xx); x.xxxx_xxxx(xx); xxxxxxxx x = x; x[x] = xx; xxx.xxxx_xxxx(x[x]); xxx.xxxx_xxxx(x[x]); xxx.xxxx_xxxx(xxxxxx_xxxx<xxx>(x.xxxx())); } xxx.xxxx_xxxx(xxxxxx_xxxx<xxx>(xxxxxx() - xxxxx())); xxx.xxxx_xxxx(xxxxxx_xxxx<xxx>(xxxxxx_xxxxx())); xxxxxx xxx; }()
// [xx, xx, x, x, x] (xxxx xxxx: xxxxxxx x[x] xxxx xxx xxxxx x; xxxxxxx xxxxxxx)
[]{ xxxxx_xxxxxxxx(); xxx::xxxxxx<xxxx xxxx> xxx; { xxxxxxxx x; x.xxxx_xxxx(x); xxxxxxxx x; x.xxxx_xxxx(x); x.xxxx_xxxx(x); x = x; xxx.xxxx_xxxx(x[x]); xxx.xxxx_xxxx(xxxxxx_xxxx<xxxx xxxx>(x.xxxx())); } xxx.xxxx_xxxx(xxxxxx()); xxx.xxxx_xxxx(xxxxx()); xxx.xxxx_xxxx(xxxxxx_xxxxx()); xxxxxx xxx; }()
// [x, x, x, x, x] (xxx xxxxxxxxxxxx + xxx xxxxxxxxxx xxxxxxxx x xxxxxxx; xxx x xxx xxxxx)
xxxxxxxx xxxxxxxxxxxxxxx xx xxx xxxxxx xxxxxxxxx xx
xxxxxxxx (xxxxxxxxxxxx, xxxxxxxx=, xxxxxxxxxx, xxxx_xxxx,
xxxxxxxx[], xxxx).xxxxx_xxxxxx / xxxx_xxxxxx.x = x;) xxxx xxxxx xxx xxxxxxxx xxxxxxxxx.xxxxx_xxxxxx, xxxxx xx xxx xxxxxx'x xxxxxxxx, xxx xxxxx xxx xxx xxx;
xxxxxxx xxx xxxxxxxxxxx'x xxxxxxxx xxxxxxxx xx xxx xxxx xx xxxx xxxxxxxx.
xxx xxxxx xxxxx xxxxx xxxxxxxxxxx xx xxxx xxxxx.xxxxxxxx x = x;, xxxxxx xxxxxxx x xxxxx
xxxxxx x.xxxxxx() == xxxxx() xxx xxxxxx_xxxxx() == x.This problem is only available to subscribers.