Coding
C++ Internals

Bump Arena With Scoped Reset

Premium
Difficulty

Asked at Hudson River Trading, Jump Trading

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.

xxx-xxxxxxx xxxx xx x xxxxxxx xxxxxx xxx x xxxxx: xxxxx x xxxxxx, xxxxx x xxx xxxxxxx, xxx xx xxxx, xxx xxxxx xxx xxx xxxx xxxxxx xxx xxxx xxxxxx. xxx xxxxxxx xxxxxxxxx xx xxx xxxxx xxxx xxx xxxx. xxxx xxx xxxxx x xxxx xx xxxxxxxx x xxxxxx xxxxx, xxx xxxxx x xxxxx, xxx xxx xxx xxxx xxxx xxx xxxxxx xxx x xxxx, xx xxx xxxx xxxxxxx xx xxx xxxxx xxxx xxx xxxxxx. xxxx xxxx xxxxxxxxx x xxxxx xxx xxxxx xx xxx xxxxxxxx xxxxx xx xxxxxxxxx xxxx xxxxx xx xxx xxx x xxxxxxx.

xxxx xx x xxxx xxxxx: xxx xxxxxx, xxx xxxxxx. xxxxxxxxxx xxxxxxxx xxx xxxxxx. xxxxx xx xx xxxxxxxxxx xxxx. xxxx xxx xxxx xx xxxx xxxx xxx xxxxxx xx xxxxx xxx xxxxxxx xxx xxx xxxxx xxxxx xx xxxx xx xxxx. xxx xxx xxxxx xxxxxx xxx xxxxx xxx xxxxxxxxx, xxxxxxx xx xxxxxx xx x xxxx xxxx xxxxxx xx x xxx xxxxxx xx x xxx xxx xxxxxxxx xxxx xxx xxxxxx, xxx xxxxxxxxxxx, xxxxxxx xx xxxxxx xxxx x xxx::xxxxxx xxxxxx xx xxxxx xxxxxx xxxxxxx xxxx ~x() xxxxxx xxx xxxxx xxx xxxxxxxx.

xxxxxxxxx xxxxx.

  • xxxxxxxx xxxxx(xxx::xxxx_x xxxxxxxx): xxxxx xxx xxxxxx xxxx xxxxxxxx::xxxxxxx xx xxxxxxx xxx xxxx. xxx xxxxx xxxxxx.
  • xxxx* xxxxxxxx(xxx::xxxx_x xxxxx, xxx::xxxx_x xxxxx): xxxxxxx xxx xxxx xxxxx-xxxxxxx xxxxxxx xxxx xxxx xxx xxxxx xxx xxxxx xxx xxxxxx xxxx xx. xxxxx xx x xxxxx xx xxx. xx xxx xxxxxxx xxxx xxx xxx, xxxxx xxx::xxx_xxxxx xxx xxxxx xxx xxxxx xxxxxxxxx.
  • xxxxxxxx <xxxxxxxx x, xxxxxxxx... xxxx> x* xxxx(xxxx&&... xxxx): xxxxxxxxx xxxxxx(x) xxxxx xx xxxxxxx(x) xxx xxxxxxxxxx x x xxxxx xxxx xxxxxxxxx xxx. xx x xx xxx xxxxxxxxx xxxxxxxxxxxx, xxxxxxxx xxxx xxx xxxxxxxxxx xx xxxx.
  • xxxx xxxx() xxxxx xxx xxxx xxxxxx(xxxx): x xxxx xx x xxxxx xx xxx xxxxx. xxxxxxxxx xx xx xxxx xxx xxxxxxxxxx xxxx xx xxxxx xxxxxx xxxx xxxxx xxx xxxx, xxxx xxxx, xxxxx xxxxxxxxx, xxxx xxxxx xxx xxxxxx xxxx.
  • xxxx xxxxx(): xxxxxx xx xxx xxxx xxxxx.
  • ~xxxxx(): xxxx xxxxxxxx xx xxxxx xxxx.
  • xxx::xxxx_x xxxx() xxxxx xxx xxx::xxxx_x xxxxxxx_xxxxxxxxxxx() xxxxx.

xxx xxxxxxxx xxxxx xxxx xxxxxxx xxx xxx xxxxxxxxxxx, xx xxx xxxxx xxx xxx xxx xxxx xxxx xxxxxxxxxxx xxx xxx xx xxxxx xxxxx.

xxxxxxxx

xxxxx x(xxxx);
x.xxxxxxxx(x, x);        // xxxxxx x,  xxxx() == x
x.xxxxxxxx(x, x);        // xxxxxx x,  xxxx() == xx
x.xxxxxxxx(xx, xx);      // xxxxxx xx, xxxx() == xx

x.xxxx<xxxxx>(x);
xxxx x = x.xxxx();
x.xxxx<xxxxx>(x);
x.xxxx<xxxxx>(x);
x.xxxxxx(x);             // xxxxx::xxx() xx xxx {x, x}
x.xxxxx();               // {x, x, x}

xxxxxxxxxxx

  • xxx xxxxxxxx::xxxxxxx xxx xxxxx, xxxx xx xxx xxxxxxxxxxx. xx xxxxx xxxx xxxxx xx xxxxxxxxx xxxx xxxxx xx x xxxxxxxxx xxxx xxxxxxxxx.
  • xxxxxxxxx xx xxxxxxxx. x xxxxxxx xxxx xxxxx xx xxxx xxxxx xx xx xxxxxxx xxxx xx xxx x xxxxxxxx xx xx xxxxx, xxxxxxxx xx xxxxxx.
  • xxxxxxxxxxx xxx xx xxxxxxx xxxxx xx xxxxxxxxxxxx. xx xxxxxx xxxxxxx xxxx xxxx xxx xx xxxxxxxxx x xxxxxx xxxx xx x xxxxx xxxxxx xx xx xxx xxxxx'x xxx xxxxxxxxxx.
  • x xxxxxxxxx xxxxxxxxxxxx xxxx xxxx xxxxxxx. xxxx<xxx> xxxx xxx xxxxxxxx xxxxxxxx, xx x xxxxxxx xxxxx xxxxxxxxxxx xxxx xxxx x xxxxxxx xxxxxxx.
  • x xxxx-xxxx xxxxxxx xx xxxxx. xx xxxxxxx xxx xxxx xxxxxxx xxxxxxx xxx xxxxxxxx xxxxxxx xxxxxx xxx xxxxxxxxx xxxxxxx.

This problem is only available to subscribers.

Language: C++23Arena

Unlock the problem to run it against the tests.