Разбор добавил Антон Полднев
Используя данную строчку, будем постепенно заполнять строчку, являющуюся ответом (расшифровкой), как массив. Пусть дана нам строка
\(S\),
\(i\)-й символ которой обозначен как
\(S_i\), и её первые
\(k\) символов мы уже расставили в строчке-расшифровке
\(R\), причём последний на текущий момент (
\(k\)-й) символ мы поставили на
\(t\)-е место в строке
\(R\). Осталось научиться понимать по
\(t\), куда в строке
\(R\) ставить символ
\(S_{k+1}\). Иначе говоря, нужно пересчитать
\(t\) и символу
\(R_t\) присвоить значение
\(S_{k+1}\). Если
\(t\) ближе к началу строки, чем к концу (
\(t-1<|S|-t\)), то
\(t\to|S|-(t-1)\), в противном случае
\(t\to (|S|-t)+2\).