Задача №115259. SpamGPT-4
Для тестирования отказоустойчивости двух лучших спам-ботов компании «LinkedOut» было решено настроить их на взаимодействие друг с другом и посмотреть, как долго они проработают в таком режиме без ошибок.
После старта оба бота отправляют друг другу по одному сообщению, после чего первый бот отправляет новое сообщение каждые \(a\) секунд, а второй — каждые \(b\) секунд. Иными словами, первый бот отправляет новое сообщение на секундах \(0\), \(a\), \(2a\), и так далее, а второй — на секундах \(0\), \(b\), \(2b\), и так далее.
Помимо этого, оба бота отправляют ответ на каждое полученное сообщение ровно спустя секунду после получения. Сообщения отправляются без задержки и приходят моментально после отправки. В частности, если в момент времени \(t\) первый бот отправит сообщение, то в момент времени \(t + 1\) он получит ответ на него, а в момент времени \(t + 2\) — отправит свой ответ. Также боты отлично выполняют параллельные задачи параллельно и могут отправлять любое количество сообщений одновременно (например, если надо одновременно отправить новое сообщение и ответы на полученные).
Вам даны параметры ботов \(a\) и \(b\). Определите, сколько сообщений каждый из ботов должен будет отправить к моменту времени \(T\), если они оба будут работать без ошибок.
В единственной строке ввода через пробел даны три целых числа \(a\), \(b\) и \(T\) — периодичности отправки новых сообщений и время работы ботов (\(1 \le a, b, T \le 10^9\)).
Выведите через пробел два целых числа — количество сообщений, отправленных к моменту \(T\) первым и вторым ботом, соответственно. Если какие-то сообщения должны быть отправлены в \(T\)-ю секунду, их тоже следует учесть в ответе.
Баллы за каждую подзадачу начисляются только в случае, если все тесты этой подзадачи и необходимых подзадач успешно пройдены.
Подзадача | Баллы | Дополнительные ограничения | Необходимые подзадачи | Информация о проверке |
1 | 15 | \(a, b, T \le 1000\) | полная | |
2 | 18 | \(T \le 5 \cdot 10^4\) | 1 | первая ошибка |
3 | 21 | \(a = b = 1\) | первая ошибка | |
4 | 21 | \(a \le T \le b \lt 2a\) | первая ошибка | |
5 | 25 | нет | 1 – 4 | первая ошибка |
Пояснение ко второму примеру:
- в момент времени \(0\) первый бот отправляет второму сообщение A , а второй первому — B ;
- в момент времени \(1\) боты отправляют друг другу ответы на полученные на нулевой секунде сообщения: первый второму B(1) (ответ на B ), а второй первому — A(1) ;
- в момент времени \(2\) новых сообщений не появляется, и они отправляют друг другу ответы на полученные на первой секунде сообщения: A(2) (ответ на A(1) ) и B(2) ;
- в момент времени \(3\) будут отправлены B(3) и A(3) , и одновременно с этим второй бот отправит первому новое сообщение C ;
- в момент времени \(4\) первый отправит второму новое сообщение D , C(1) (ответ на C ) и A(4) , а второй первому — B(4) ;
- в момент времени \(5\) новых сообщений нет, боты отправляют друг другу ответы на полученные секунду назад сообщения;
- в момент времени \(6\) будут отправлены ответы на сообщения с предыдущей секунды, а также второй бот отправит первому новое сообщение E .
Итого, первый бот отправил: A , B(1) , A(2) , B(3) , D , C(1) , A(4) , B(5) , D(2) , C(3) и A(6) , всего 11 сообщений.
Второй бот тоже отправил ровно 11 сообщений: B , A(1) , B(2) , C , A(3) , B(4) , D(1) , C(2) , A(4) , E и B(6) .
1 2 5
18 15
4 3 6
11 11
17 10 193
1596 1590