Coding
Concurrency

Conflate for a Slow Consumer

Premium
Difficulty

Asked at Hudson River Trading

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

xxx xxxxxx xx xxxxxxxxxx. xxxxxx xxxx xx xxx x xxx, xx xx x xxx xx xxxxxxx xxxxxx, xx xx xxxxxx xxxx xxx xxxx xxxxxxxxxx xxxxxx xxxxxx xxxx xx xxxxxxx xx xxxxxxxxxxx xx xxx. xxxxxxxxx xx xxx xxxxxxx xx xxxx.

xxxxxxxxx xxxxxxxxx, xxx xxxxxxxxxxx xxxxxxxx x xx xxxxxxxxxx_xxxxx - x.

  • xxxx xxxxxxx(xxx xxxxxxxxxx, xxxx xxxx xxxxx): xxxxxx xxxxx xx xxxx xxxxxxxxxx'x xxxxxxx xxxxx, xxxxxxxxx xxxxxxxx xxx xxxxx. xx xxx xxxxxxxxxx xx xxx xxxxxxx xxxxxxx xx xx xxxx, xx xxxxx xxx xxxx xx xxx xxxxx; xx xx xx xxxxxxx xxxxxxx, xx xxxxx xxx xxxxx xx xxx. xxxxx xxxxxx.
  • xxx::xxxxxxxx<xxx::xxxx<xxx, xxxx xxxx>> xxxxxxx(): xxxx xxx xxxxxxxxxx xx xxx xxxxx xx xxx xxxxx xxx xxxxxx xx xxxx xxx xxxxx xxxxxxx xx xxxx xxxxxx, xxx xxx xxxxx xx xxx xxxx xx xxx xxxxxx. xxxxxxx xxxxxxx xxxx xxxxxxx xx xxxxxxx.
  • xxx::xxxx_x xxxxxxx() xxxxx: xxx xxxx xxxxxxxxxxx xxx xxxxxxx.

xxxxxxxx

xxxxxxxxx x(x);
x.xxxxxxx(x, x);
x.xxxxxxx(x, x);
x.xxxxxxx(x, x);

x.xxxxxxx();   // (x, x)
x.xxxxxxx();   // (x, x)
x.xxxxxxx();   // xxxxxxx

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

xxxxxxx xxxxx xxxx xx xxxxx xx x xxx xxxxxx xxxxxxxxxx xxx xxxxxx. xxx xxxxx x xxx xxxxx xxxxxxxx xx xxxxxxx xxx xxx xxxxxxxx xxxxxx xx xxxxx xx.

xxxxxxxxxxx

  • xx xx ( xx^x ) xxxxxxxxxxx xxx ( xx^x ) xxxxxxxxx. xxxxxxxxxx xxx xxx xxxxxx xx xxxxx xxx xxxxxx xxx xxxxxxxxx xxxx xxxxx.
  • xxxxxxx() xxxx xxxxx xxxxxx xxxxxxxxxx_xxxxx, xxxxxxxx xxx xxxxxxx xxxx. xxxx xxxxx xx xxx xxxxxx xxxxx xx xxx xxxxxxxxx, xxx xxx xxxxxxxxxxx xxxx xxxxxx xx xxxxx xxx xxxxxxx xxxxxxxxx xxxxxx xx xxxxxxxxxxx.
  • xxxxxxx xxx xxxxxxx xxxx xxxx xx ( x(x) ). xx xxxxxxxxx xxx xxxxx xxx xx xxxxxxxxxx xxxxxxx xx xx.

This problem is only available to subscribers.

Language: C++23Conflator

Unlock the problem to run it against the tests.