При совместном обеде в кафе или ресторане часто возникает проблема расчётов: поиск сдачи и т.д. Если одна и та же компания людей обедает регулярно, проще каждый раз платить за всех кому-то одному, по очереди. Но в этом случае необходимо вести учёт, чтобы периодически сводить все долги друг другу к нулю.
В рамках данной задачи необходимо разработать программу, автоматизирующую подсчёт таких долгов.
Файл журнала обедов, каждая строчка которого содержит следующую информацию:
ts
— POSIX timestamp.user_id
– строковый никнейм (например, superIgor2000)sum
– число в копейках. Может быть как положительной (заплатил за всех), так и отрицательной (долг за еду).Таким образом, формат одной строчки:
ts user_id sum
Реализовать модуль, который инкапсулирует записи обо всех тратах и долгах пользователей и может выдать рекомендации в формате «кто, кому и сколько должен отдать» за определенный период времени (при заданных timestamp начала и конца периода).
user_1 -> user_2 - 301 р 50 коп
user_1 -> user_5 - 101 р 34 коп
user_4 -> user_3 - 1 р 01 коп