Главный сервер системы имеет номер 1. Остальные серверы соединены в п цепочек
при помощи кабелей. Первая цепочка состоит из п серверов с номерами от 2 до п + 1. Вторая цепочка состоит из п — 1 серверов с номерами от п + 2 до 2п. Третья цепочка
состоит из п — 2 серверов с номерами от 2п + 1 до 3п — 2. И так далее. Последняя цепочка n(n + 1)
состоит из одного сервера с номером
2
1. Серверы в каждой цепочке соединены друг с другом, как показано на иллюстрации. Главный сервер соединён с первым сервером каждой цепочки.
Когда участник отправляет решение задачи на проверку, оно поступает на главный сервер.
После этого происходит следующий процесс: сначала главный сервер тратит а секунд на подготовку данных, после чего мгновенно отправляет их первому серверу первой цепочки (то есть серверу с номером 2). Затем главный сервер тратит ещё а секунд на подготовку данных, после чего мгновенно отправляет их первому серверу второй цепочки (то есть серверу с номером п + 2). И так далее до тех пор, пока главный сервер не отправит последнее сообщение, которое адресовано первому серверу п-й цепочки. Каждый из серверов, кроме главного, работает следующим образом: после получения сообщения сервер тратит b секунд на обработку данных, после чего мгновенно передает их следующему серверу в цепочке. Когда данные доходят до последнего сервера цепочки, он тратит b секунд на их обработку, после чего мгновенно передает их предпоследнему серверу в цепочке. После этого данные начинают передаваться между серверами
по направлению к началу цепочки таким же образом, каким они передавались ранее
(каждый сервер тратит секунд на обработку данных, после чего передает их предыдущему серверу по цепочке). Наконец, когда данные проходят по всей цепочке серверов и попадают на первый сервер цепочки, он тратит а секунд на обработку данных и передаёт их на главный сервер. После
этого работа данной цепочки серверов прекращается.
Как видите, на Марсе процесс проверки решения участника является достаточно сложной задачей. Вам предстоит вычислить, через сколько времени главный сервер получит обработанные данные от первых серверов всех цепочек. Считайте, что главный сервер получил решение на проверку в момент времени 0.
Ответ
C++:
#include
#include
using namespace std;
int main() {
long long n, a, b;
cin >> n;
cin >> a;
cin >> b;
long long time = 0;
for (int i = 0; i < n; i++) {
time = max(time, a * i + 2 * a + 2 * (n — 1 — i) * b);
}
cout << time;
}
Python:
import math
n = int(input())
a = int(input())
b = int(input())
time = 0
for i in range(n):
time = max(time, a * i + 2 * a + 2 * (n — 1 — i) * b)
print(time)