Контест Junior ООП, трейты и интерфейсы обновлено

Склад с исключениями предметной области

Условие

Реализуйте склад. Команды: add sku q (приход), take sku q (расход), report (отчёт).

Вывод: на add и успешный take строку sku остаток; если товара не хватает, ERROR sku only k, остаток не меняется. На report: report: sku=q, sku=q по возрастанию sku (побайтово), только положительные остатки, или report: empty.

Ввод: n (n ≤ 10⁴), затем команды. 0 ≤ q ≤ 1000, sku из латиницы и цифр (регистр важен).

Пример

5
add apple 5
take apple 2
take apple 9
add pear 1
report
apple 5
apple 3
ERROR apple only 3
pear 1
report: apple=3, pear=1

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.