Codeforces Round 824 (Div. 2) |
---|
Закончено |
Ваша рабочая неделя состоит из $$$n$$$ дней, пронумерованных от $$$1$$$ до $$$n$$$, после дня $$$n$$$ снова идет день $$$1$$$. И $$$3$$$ из этих дней — выходные, одним из которых является последний день, день $$$n$$$. Когда будут два остальных дня — вам предстоит выбрать.
Выбирая дни отдыха, вы преследуете две цели:
Выведите максимальное значение выражения $$$\min(|l_1 - l_2|, |l_2 - l_3|, |l_3 - l_1|)$$$, которое может быть получено.
Первая строка входных данных содержит единственное целое число $$$t$$$ ($$$1 \le t \le 1000$$$) — количество наборов входных данных. Описание наборов входных данных следует ниже.
Единственная строка каждого набора содержит одно целое число $$$n$$$ ($$$6 \le n \le 10^9$$$).
Для каждого набора входных данных выведите одно число — максимальное значение, которое может быть получено.
36101033
0 1 342
На изображении ниже можно видеть решения из примера для первых двух наборов данных. Выбранные выходные изображены фиолетовым. Рабочие отрезки подчеркнуты зеленым.
В $$$1$$$ наборе данных единственными вариантами для выходных являются дни $$$2$$$, $$$3$$$ и $$$4$$$ (потому что дни $$$1$$$ и $$$5$$$ соседние с днем $$$n$$$). Поэтому единственная возможность расположить их, чтобы они не стали соседями — это выбрать дни $$$2$$$ и $$$4$$$. Таким образом $$$l_1 = l_2 = l_3 = 1$$$, а ответ $$$\min(|l_1 - l_2|, |l_2 - l_3|, |l_3 - l_1|) = 0$$$.
Для $$$2$$$ набора данных изображен один из способов выбора выходных. Рабочие отрезки имеют длины $$$2$$$, $$$1$$$ и $$$4$$$ дней. Таким образом, минимальной разницей является $$$1 = \min(1, 3, 2) = \min(|2 - 1|, |1 - 4|, |4 - 2|)$$$. Можно показать, что нет возможности сделать это число больше.
Название |
---|