Coding
Concurrency

Split the Hot Fields

Premium
Difficulty

Asked at Jump Trading, XTX Markets

Theory: Concurrency From Scratch

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 xxxx xxxxxxx xxxx xxx xxxxxx xxx xxxx. xxxx xxxxxx xxxxx xxxxx xxxxxxxx, xxxxxxxx xxxxxxxxx, xxxxxxxx xxxxxxx xxx xxxxx xxxx, xxx xxxx xxx x xxx xx xxxxxxxxxxxxx xxxx xxx xxxxxxx xxxx xx xxxxx-xx: x xxxx xxx x xxx xxxxxx. xxx xxxxxxx xxxxxx xx xxx xxxxxx xxx xxxxxx xxxx xxx xx xx xxxxxx, xxxxxx xxxx xx xxxxx.

xxxx xxxxxx xx xxxxxxx xxx xx xx xxxx. xxxxxx x'x xxxxxxxx xxxxx x xx-xxxx xxxx xxxx xxxxxx x'x, xx xxxxx xxxxxxxxx xx xxx xxxxxx xxxxxxxxxxx xxx xxxx xx xxx xxxxx'x xxxxx, xxx xxx xxxx xxxxxxxxxxxxx xx xxxxxxx xxxxx xxx xxx xxxx, xxxxxx xx xxxxx xx x xxxx xxxx xxxxxx xxxx xxxxxxx xxx xxxxxxxx.

xxx xxx xxx xxxxx xxxxxxx xxxxxx xxxxx xxxxx xxx xxxxxxxxx xx xx xxxx xxxxxxx xxx xxx xxxx xxxxxx xxxxxxxx. xxx xxxxxxxx x xxxxxx xxxxxx xx xx x xxxx xx xxxxx xxx. xxx xxxxxxxxxxxxx xxxx xx x xxxxxxxx, xxxxxxx xxxxxx xxxxx xxxxx xx xxxxx xxxxxxx.

xxx xxxxxxxxxxxx xxxxxx xx xxx xxxxxxxx xx xxx xxxxxxx xxxxxxxxx xxxxxx. xxxxxxxxx xxxxxxxxxxx, xxxxx xxxxx xxx xxxx xxxxxxxxxxx xxxx xxx xxxxxxxx.

  • xxxxxxxx xxxxxxxxxxx(xxx::xxxx_x xxxxxxx)
  • xxxx xxxxxx(xxx::xxxx_x x, xxxx xxxx xxxxxxxxx, xxxx xxxx xxxxxxx, xxxx xxxx xxxxx): xxx xx xxxxxx x'x xxxxx xxxxxxxx. xxxx xxxxxx x'x xxxxxx xxxx xxxxx xxxx xxx x.
  • xxxx xxxx xxxxxxxxx(xxx::xxxx_x x) xxxxx, xxxxxxx, xxxxx, xxx xxxx xxxx xxxxx_xxxxxxxxx() xxxxx: xxxxxxxx xxxx xxx xxxxxx.
  • xxxxxxxx& xxxx(xxx::xxxx_x x) xxx xxx xxxxx xxxxxxxx.
  • xxxxx xxxx* xxx_xxxxx(xxx::xxxx_x x) xxxxx xxx xxxxx xxxx* xxx_xxx(xxx::xxxx_x x) xxxxx: xxx xxxx xxxxx xxxx xxxxxx x'x xxxxx xxxxxxxx xxxxxx, xxxxx xxxx xxx xxx xxxx xxx xxxx.
  • xxx::xxxx_x xxxx_xxxxxx() xxxxx: xxx xxxxxxxx xx xxxxx xxxx xxxx(x) xx xxxx(x).
  • xxx::xxxx_x xxxxxxx() xxxxx.

xxx xxxxx xxxxxx xxx xxxxxx, xxx xxx xxxxxx. x xxxxxxxxx xx x xxxxxx xxx xxxxxx xxxxxxx, xxx xxx xxxxxx xx xxx xxx.

xxxxxxxx

xxxxxxxxxxx x(x);
xxxx_xx(x.xxx_xxxxx(x)) == xxxx_xx(x.xxx_xxx(x) - x);   // xxx xxxx xxx xxxxxx
xxxx_xx(x.xxx_xxxxx(x)) != xxxx_xx(x.xxx_xxxxx(x));     // xx xxxx xxxxxx
x.xxxx_xxxxxx() == xxxxxx(xxxxxxxx);                     // xxxx xxxxxx xxxxx

x.xxxxxx(x, x, x, xxx);
x.xxxxxx(x, x, x, xx);
x.xxxxxxxxx(x);   // x
x.xxxxx(x);       // xxx

xxxxxxxxxxx

  • x xxxxxx'x xxxxx xxxxxxxx xxx xxxxxx xxx xx-xxxx xxxx. xxxxxx xxxx xxxxxxx xxx xxx xxxx xxxxx xxxx xxx xxxxx xxx xxxxx xxxxx xxx xxxxx xxx xx xxxxxx: xxx xxxxxxxx xxxx xxx xxxxxx, xx xxxx xxxxxx xxxxxxxx.
  • xx xxx xxxxxxx' xxxxxxxx xxxxx x xxxx, xxx xxxxxxxxxxx xxxxxxx' xxx xxxxxx xxx xxxxxxx xx xxxxx xxxxx.
  • xxxx_xxxxxx() xxxxxx xxxxxx(xxxxxxxx). xxxxxxx xxxxx xxxxxx'x xxxxxxxxxxxxx xxx xx x xxxx xx xxx xxxx xxxx xxx xxxxx xxx xxx xxxxxx.
  • xxxxxx xxxx xx xxxxx xxxxx xxxxx xxxxxxx xxxx xxxxxxxxx xxxxx xxx xxxxxx. x xxxxxx xxxxxx xxx xxxxxxx xxxx xxx xxxxxxxxx xx x xxxxxxx xxxx xxx xxxxx xxxxxx xxxx x xxxxx_xxx, xxx xxxx xx xxx xxxxxxxx xxxxxx, xxx xxx xxxx-xxxx xxxxxxxxx xxxxxx.
  • xxx::xxxxxx<xxx::xxxxxx<x>> xxx xx xxxxxxxxxxx xxxx x xxxx xxx xxxxx xxxxx, xxxxxx xx xxxxx, xxxxxxx xxxxxxx xxx xxxxxxx xxxxxxxx xxx xxxxxxx: xxxx xxx xxxxxxx xxxx.

This problem is only available to subscribers.

Language: C++23WorkerStats

Unlock the problem to run it against the tests.