Coding
C++ Internals

Fix the Leaky Vector

Premium
Difficulty

Asked at DRW, Akuna Capital

Theory: C++ Internals

Read 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.

xxxxxxxx

[]{ 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)

xxxxxxxxxxx

  • xx xxx xxxxxx xxx xxxxxxxx xxxxxxxxxxxxxxx xx xxx xxxxxx xxxxxxxxx xx xxxxxxxx (xxxxxxxxxxxx, xxxxxxxx=, xxxxxxxxxx, xxxx_xxxx, xxxxxxxx[], xxxx).
  • xxx xxxxxxx xxxx xxxx xxxx xxxxx_xxxxxx / xxxx_xxxxxx.
  • xxxx-xxxxxxxxxx (x = x;) xxxx xxxxx xxx xxxxxxxx xxxxxxxxx.
  • xxxxxxxxxx (xxxxx xxxx xxxx-xxxxxxxxxx) xxxxxx xxxxx x xxxxx xxxxxx xxxx 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.
  • xxxxxx xxxx xx xxxx: xxxxx xxxxxxxx x = x;, xxxxxx xxxxxxx x xxxxx xxxxxx x.
  • xxxxx xxx xxxxxxxx xx xxxxxxxxxx xxxxx xxxxxxx xxxx xxx xxxx xxx xx xxxxx, xxxxxx() == xxxxx() xxx xxxxxx_xxxxx() == x.
  • xxx xxxxxx xxxxx xxxxxxxx xxxxxx xxxx xxxxxxx xxxxxxxxxxxxx xxx xxxxxxx xxxx + xxxxxx + xxxx xxxxxxxxx.

This problem is only available to subscribers.

Language: C++SmallVec
Sample tests

Unlock the problem to run it against the tests.