Coding
OOP Design

Fix the Position Book

Premium
Difficulty

Asked at Hudson River Trading, Tower Research Capital

Theory: Order Books and Matching

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.

Available in Python and C++. You are solving it in Python. Switch to C++

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

xxxxx xx xxxx xxx xxxxx xxx xxxxxx xxxxxxx xxxxxxx xxxxxx xxxx xxxxx xxxxxxx. xxx xxxxxxx xx xxx:

  • x xxxxxx xxxx, xxxxxxx xxx x xxxxxxxxx xxxx, xxxxxxx xxxxx xxx xxxxx xxxx'x xxxxxxxxx;
  • x xxxx xxxx xxxxxx xxxxxxx xxxx xx xxxx xxxxxx xxx xx xxxx xxxx, xxx xxx xxxxxxxx xx xxxxxx xxxxxxx xxx xxxxx;
  • x xxxx xxxxxx xxxx xxx xxxxx xxxxxxxx xxxxxxxx xx xxxxxxx xx xxxxxxxxx xx;
  • xxx xxxx x xxxxxx xxxxx xxx xxxxxx xxxxx xxxxx xxxxx, xxx xxxx xxxx xxxx xx xxxxx xxxxxx xxxx xxxxxx.

xxxx xxx xxxx xxx xxx xxx xxxxx. xxx xxxxxxxxx xxxx xxx xxxxxx:

xxxxx xxxxxxxxxxxx:
    xxx xxxx(xxxx, xxxxxx: xxx, xxx: xxx, xxxxx: xxx) -> xxxx: ...
    xxx xxxxxxxx(xxxx, xxxxxx: xxx) -> xxx: ...
    xxx xxxx_xxxx(xxxx, xxxxxx: xxx) -> xxxx[xxxxx[xxx, xxx]]: ...
    xxx xxxxxxxx(xxxx, xxxxxx: xxx) -> xxx: ...
    xxx xxxxxxxx(xxxx) -> xxxx[xxx, xxx]: ...
  • xxxx(xxxxxx, xxx, xxxxx): xxxxxx x xxxx. xxx xx x xxx-xxxx xxxxxxx, xxxxxxxx xxx x xxx xxx xxxxxxxx xxx x xxxx, xxx xxxxx xx x xxxxxxxx xxxxxxx.
  • xxxxxxxx(xxxxxx): xxx xxx xxxxxxxx xxxx, x xxx x xxxxxx xxxxx xxxxxx.
  • xxxx_xxxx(xxxxxx): x xxx xxxx xx (xxx, xxxxx) xxxxxx xxx xxx xxxx xxxxx xxxx, xxxxxx xxxxx, xxxx xxx xxxxxx xxxx xxx xxxxxxxx.
  • xxxxxxxx(xxxxxx): xxx xxxxxxxx xxxxxx xxx xxx xxxxxx xx xx xxxxxxx, x xx xxxx.
  • xxxxxxxx(): x xxx xxxx xxxx xxxxxx xx xxx xxxxxxxx, xxxxxxx xxxx xxxxxxx xxxxx xxxxxxxx xx xxx xxxx, xx xxx xxxxx xxxx xxxxxx xxx xxxxx xxxxxx.

xxxx xxxxx. x xxxx xx xxx xxxx xxxxxxxxx xx xxx xxxx xxxxxxxx, xx xx x xxxx xxxxxx, xxxxx x xxx xxx xx xxx xxxxx. x xxxx xx xxx xxxxxxxx xxxxxxxxx xxxxxx xxx xxxxxx xxxx xxxxx. xxxxxxx ( x ) xxxxx xx x xxx xxxxxx xx ( x_{xxxx{xxx}} ) xxxx x xxxx xx ( x ) xxxxxxxx ( x xxxxx (x - x_{xxxx{xxx}}) ) xxx x xxxx xxx, xxx ( x xxxxx (x_{xxxx{xxx}} - x) ) xxx x xxxxx xxx. xx xxx xxxx xx xxxxxx xxxx xxx xxxxx xxxxxxxx, xxxx xx xxxx xxxxx x xxx xxx xx xxx xxxx xxxxx, xx xxx xxxx'x xxxxxxxxx.

xxxxx xxxx xx xxxxxxxxxxx xx xxxxx xxxxx xxxx.

xxxxxxxx

x = xxxxxxxxxxxx()
x.xxxx("xx", x, xxx)
x.xxxx("xx", x, xxx)
x.xxxx("xx", -x, xxx)
(x.xxxxxxxx("xx"), x.xxxx_xxxx("xx"), x.xxxxxxxx("xx"))
# (x, [(x, xxx)], xx)

xxx xxxx xxx x xxxxxx xxx xxxxx xxxxx xxx, ( x xxxxx (xxx - xxx) = xx ), xxxx x xxxx xx xxx xxxxxx, ( x xxxxx (xxx - xxx) = x ). xxx xxxxx xxxxxx xx xxx.

x = xxxxxxxxxxxx()
x.xxxx("xx", -x, xxx)
x.xxxx("xx", xx, xxx)
(x.xxxxxxxx("xx"), x.xxxx_xxxx("xx"), x.xxxxxxxx("xx"))
# (x, [(x, xxx)], xx)

xxx xxx xxx xx xxxxxx xxx xxxxx x xxx ( x xxxxx (xxx - xxx) = xx ) xxx xxxxx x xxxx xxx xx x xx xxx.

xxxxxxxxxxx

  • xx xx ( x.x xxxxx xx^x ) xxxxx.
  • xxx xxxxxx xxxxxxxxxxx xxxx xxxxxx x xxxxx xx x,xxx,xxx xxxx xxxx xx xxx xxxxxx xxx xxxx xxxxxx xxxx xxx xxxx xx x xxxx. xxxxxxxx xxx xxxxxx xxx xxxx xxx xxxxx xx x xxxxxx xxxx xxxxxx xxxxx xxx xxxxxx xx, xxxxx xx ( x(x) ) xxx xxxxx xxx xxxx xxx xxxxxx xx xxxx.

This problem is only available to subscribers.

Language:
Python 3.12C++23
PositionBook

Unlock the problem to run it against the tests.