Asked at Hudson River Trading, Tower Research Capital
Theory: Order Books and MatchingRead 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 C++. Switch to Python
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 x++ xxxxxxx xxxxxxx xxx xxxxxx xxxxxx xxxx xxxxx xxxxxxx. xxx xxxxxxx xx xxx:
xxxx xxx xxxx xxx xxx xxx xxxxx. xxx xxxxxxxxx xxxx xxx xxxxxx:
xxxxx xxxxxxxxxxxx {
xxxxxx:
xxxx xxxx(xxxxx xxx::xxxxxx& xxxxxx, xxxx xxxx xxx, xxxx xxxx xxxxx);
xxxx xxxx xxxxxxxx(xxxxx xxx::xxxxxx& xxxxxx) xxxxx;
xxx::xxxxxx<xxx::xxxx<xxxx xxxx, xxxx xxxx>> xxxx_xxxx(xxxxx xxx::xxxxxx& xxxxxx) xxxxx;
xxxx xxxx xxxxxxxx(xxxxx xxx::xxxxxx& xxxxxx) xxxxx;
xxx::xxxxxx<xxx::xxxx<xxx::xxxxxx, xxxx xxxx>> xxxxxxxx() xxxxx;
};
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 xxxxxx xx {xxx, xxxxx} xxxxx xxx xxx xxxx xxxxx
xxxx, xxxxxx xxxxx, xxxx xxx xxxxxx xxxx xxx xxxxxxxx. xx xxxxxxx xxx
xxxxxx xx xxxxx, xxxxx x xxxxxxxxx xx xxx xxxx'x xxx xxxx.xxxxxxxx(xxxxxx): xxx xxxxxxxx xxxxxx xxx xxx xxxxxx xx xx xxxxxxx, x
xx xxxx.xxxxxxxx(): x xxx xxxxxx xx {xxxxxx, xxx} xxxxx, 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.
xxxxxxxxxxxx x;
x.xxxx("xx", x, xxx);
x.xxxx("xx", x, xxx);
x.xxxx("xx", -x, xxx);
x.xxxxxxxx("xx"); // x
x.xxxx_xxxx("xx"); // {{x, xxx}}
x.xxxxxxxx("xx"); // 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.
xxxxxxxxxxxx x;
x.xxxx("xx", -x, xxx);
x.xxxx("xx", xx, xxx);
x.xxxxxxxx("xx"); // x
x.xxxx_xxxx("xx"); // {{x, xxx}}
x.xxxxxxxx("xx"); // xx
xxx xxx xxx xx xxxxxx xxx xxxxx x xxx ( x xxxxx (xxx - xxx) = xx ) xxx xxxxx x xxxx xxx xx x xx xxx.
xxx::xxxxxx xxxxxx xxxxx xxx
xxxxxx xx, xxxxx xx ( x(x) ) xxx xxxxx xxx xxxx xxx xxxxxx xx xxxx.This problem is only available to subscribers.