Codeforces Round 590 (Div. 3) |
---|
Закончено |
Определим $$$p_i(n)$$$ как перестановку следующего вида: $$$[i, 1, 2, \dots, i - 1, i + 1, \dots, n]$$$. Это значит, что $$$i$$$-я перестановка является почти тождественной (то есть та, которая отображает каждый элемент сам в себя) перестановкой, но элемент $$$i$$$ стоит на первой позиции. Примеры:
Вам задан массив $$$x_1, x_2, \dots, x_m$$$ ($$$1 \le x_i \le n$$$).
Определим $$$pos(p, val)$$$ как позицию элемента $$$val$$$ в $$$p$$$. Таким образом, $$$pos(p_1(4), 3) = 3, pos(p_2(4), 2) = 1, pos(p_4(4), 4) = 1$$$.
Определим функцию $$$f(p) = \sum\limits_{i=1}^{m - 1} |pos(p, x_i) - pos(p, x_{i + 1})|$$$, где $$$|val|$$$ равно абсолютной величине $$$val$$$. Эта функция означает сумму дистанций между соседними элементами $$$x$$$ в $$$p$$$.
Ваша задача — посчитать $$$f(p_1(n)), f(p_2(n)), \dots, f(p_n(n))$$$.
Первая строка входных данных содержит два целых числа $$$n$$$ и $$$m$$$ ($$$2 \le n, m \le 2 \cdot 10^5$$$) — количество элементов в каждой перестановке и количество элементов в $$$x$$$.
Вторая строка входных данных содержит $$$m$$$ целых чисел ($$$m$$$, не $$$n$$$) $$$x_1, x_2, \dots, x_m$$$ ($$$1 \le x_i \le n$$$), где $$$x_i$$$ равно $$$i$$$-му элементу $$$x$$$. Элементы $$$x$$$ могут повторяться и идти в случайном порядке.
Выведите $$$n$$$ целых чисел: $$$f(p_1(n)), f(p_2(n)), \dots, f(p_n(n))$$$.
4 4 1 2 3 4
3 4 6 5
5 5 2 1 5 3 5
9 8 12 6 8
2 10 1 2 1 1 2 2 2 2 2 2
3 3
Рассмотрим первый тестовый пример:
$$$x = [1, 2, 3, 4]$$$, таким образом
Рассмотрим второй тестовый пример:
$$$x = [2, 1, 5, 3, 5]$$$, so
Название |
---|