Олимпиадный тренинг

Задача . B. HDD - устаревшая технология


При хранении данных на жестких дисках типа HDD данные группируются по секторам. Все файлы разбиваются на фрагменты, которые в свою очередь записываются в некоторых секторах жесткого диска. При этом сектора, в которых находится один файл не обязательно следуют друг за другом и могут располагаться в произвольном порядке.

Одной из проблем HDD-носителей является то, что магнитная головка должна перемещаться от одного сектора к другому, чтобы считать один файл.

Вам требуется определить время за которое будет считан файл, разбитый на n фрагментов. В i-м секторе записан фрагмент файла номер fi (1 ≤ fi ≤ n). При этом в различных секторах находятся в различные фрагменты. Будем считать, что изначально магнитная головка находится в секторе, в котором записан первый фрагмент. Считывание происходит следующим образом: сначала считывается первый фрагмент, затем магнитная головка перемещается к сектору, содержащему второй фрагмент, считывается второй фрагмент и так далее пока не будет считан n-й фрагмент. Фрагменты считываются один за другим по порядку от 1-го до n-го.

На перемещение магнитной головки от a-го сектора до b-го уходит |a - b| единиц времени. Временем считывания информации можно пренебречь.

Входные данные

В первой строке находится целое положительное число n (1 ≤ n ≤ 2·105) — количество фрагментов файла.

Во второй строке находятся n различных целых чисел fi (1 ≤ fi ≤ n) — номер фрагмента, записанного в i-м секторе.

Выходные данные

Выведите одно целое число — количество единиц времени, необходимое для считывания файла.

Примечание

Во втором примере магнитная головка двигается следующим образом:

  • 1->2: передвижение из сектора 1 в сектор 5 — требует 4 единицы времени
  • 2->3: передвижение из сектора 5 в сектор 2 — требует 3 единицы времени
  • 3->4: передвижение из сектора 2 в сектор 4 — требует 2 единицы времени
  • 4->5: передвижение из сектора 4 в сектор 3 — требует 1 единицы времени

Таким образом, ответ равен 4 + 3 + 2 + 1 = 10.


Примеры
Входные данныеВыходные данные
1 3
3 1 2
3
2 5
1 3 5 4 2
10

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя