Сочи Парк
시간 제한1초메모리 제한2048 MB
직선 위 목표들과 x0 + kd 지점의 공급 지점이 주어질 때, 이동 비용 t를 포함해 각 참가자가 모든 목표를 맞히는 최소 칼로리를 구한다.
문제

В Сочи Парке открылся новый аттракцион. Вдоль прямой расположены целей, координата -й цели равна (). Посетители должны поразить все эти цели в произвольном порядке. Для поражения целей используются мячики. Если посетитель находится в точке с координатой и хочет поразить цель, находящуюся в точке , ему потребуется потратить калорий.
Посетитель входит в аттракцион в точке с координатой . Неограниченные запасы мячиков находятся в точке входа, а также во всех точках на расстоянии друг от друга, то есть в точках , где --- произвольное целое число. Переносить мячики запрещено правилами аттракциона, поэтому бросать их можно только из этих точек.
В день между турами участников олимпиады посетят Сочи Парк. Участники соревнования находятся в разной физической форме, поэтому -му участнику олимпиады для перемещения на расстояние требуется калорий.
Вам нужно определить, какое минимальное число калорий необходимо каждому участнику для поражения всех целей аттракциона.
입력
В первой строке задано одно целое число () --- количество целей в аттракционе.
Во второй строке заданы целых чисел () --- координаты целей.
В третьей строке заданы два целых числа и (, ) --- точка входа посетителя аттракциона и расстояние между местами нахождения запасов мячиков.
В четвертой строке задано одно целое число () --- количество участников олимпиады.
В следующих строках содержится по одному целому числу () --- количество энергии, необходимое -му участнику олимпиады для перемещения между двумя соседними местами нахождения запасов мячиков.
출력
Для каждого участника олимпиады выведите одно целое число --- минимальное количество, необходимое ему для перемещения и поражения всех целей.
При данных ограничениях ответ не превосходит максимального значения 64-битного знакового типа данных. Однако для промежуточных вычислений может понадобиться тип данных __int128 в C++ (поддерживается только в компиляторе GNU C++), BigInteger в Java, int в Python.
힌트
В первом тесте для второго участника () оптимальным будет следующий алгоритм поражения целей:
- Переместиться из точки в точку , потратив калорию. Обратите внимание, координата посетителя может быть отрицательной.
- Поразить цель в точке , потратив калорию.
- Переместиться в точку , потратив калории.
- Поразить цель в точке , потратив калорию.
- Переместиться в точку , потратив калорию.
- Поразить цель в точке , потратив калорию.
Суммарные затраты энергии равны калорий. Можно показать, что это минимальное количество энергии.
Для шестого участника () оптимальным будет следующий алгоритм поражения целей:
- Поразить цель в точке , потратив калории.
- Переместиться в точку , потратив калории.
- Поразить цель в точке , потратив калории.
- Поразить цель в точке , потратив калорию.
Суммарные затраты энергии равны калории. Можно показать, что это минимальное количество энергии.