Задача №115398. Сочи Парк

В Сочи Парке открылся новый аттракцион. Вдоль прямой расположены \(n\) целей, координата \(i\)-й цели равна \(x_i\) (\(1\le i\le n\)). Посетители должны поразить все эти цели в произвольном порядке. Для поражения целей используются мячики. Если посетитель находится в точке с координатой \(x\) и хочет поразить цель, находящуюся в точке \(x_i\), ему потребуется потратить \((x-x_i)^2\) калорий.

Посетитель входит в аттракцион в точке с координатой \(x_0\). Неограниченные запасы мячиков находятся в точке входа, а также во всех точках на расстоянии \(d\) друг от друга, то есть в точках \(x_0+kd\), где \(k\) — произвольное целое число. Переносить мячики запрещено правилами аттракциона, поэтому бросать их можно только из этих точек.

В день между турами \(m\) участников олимпиады посетят Сочи Парк. Участники соревнования находятся в разной физической форме, поэтому \(j\)-му участнику олимпиады для перемещения на расстояние \(d\) требуется \(t_j\) калорий.

Вам нужно определить, какое минимальное число калорий необходимо каждому участнику для поражения всех целей аттракциона.

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

В первой строке задано одно целое число \(n\) (\(1 \leq n \leq 3 \cdot 10^{5}\)) — количество целей в аттракционе.

Во второй строке заданы \(n\) целых чисел \(x_{1}, x_{2}, \ldots, x_{n}\) (\(0 \leq x_{i} \leq 10^{9}\)) — координаты целей.

В третьей строке заданы два целых числа \(x_{0}\) и \(d\) (\(0 \leq x_{0} \leq 10^{9}\), \(1 \leq d \leq 2 \cdot 10^{6}\)) — точка входа посетителя аттракциона и расстояние между местами нахождения запасов мячиков.

В четвертой строке задано одно целое число \(m\) (\(1 \leq m \leq 6 \cdot 10^{5}\)) — количество участников олимпиады.

В следующих \(m\) строках содержится по одному целому числу \(t_j\) (\(0 \leq t_j \leq 10^{8}\)) — количество энергии, необходимое \(j\)-му участнику олимпиады для перемещения между двумя соседними местами нахождения запасов мячиков.

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

Для каждого участника олимпиады выведите одно целое число — минимальное количество, необходимое ему для перемещения и поражения всех целей.

При данных ограничениях ответ не превосходит максимального значения 64-битного знакового типа данных. Однако для промежуточных вычислений может понадобиться тип данных __int128 в C++ (поддерживается только в компиляторе GNU C++), BigInteger в Java, int в Python.

Система оценки

Доп. ограничения
Подзадача Баллы \(n\) \(x_{0}\) \(m\) дополнительно Необх. подзадачи
1 9 \(m = 1\) \(t_{1} = 0\)
2 7 \(n = 1\) \(m \leq 10\,000\)
3 8 \(n = 2\) \(m \leq 10\,000\) \(x_{1} \leq x_{0} \leq x_{2}\)
4 3 \(n \leq 50\) \(x_{0} = 0\) \(m \leq 50\) \(d \leq 50\), \(x_{i} \leq 50\)
5 2 \(n \leq 50\) \(x_{0} \leq 50\) \(m \leq 50\) \(d \leq 50\), \(x_{i} \leq 50\) 4
6 4 \(x_{0} = 0\) \(m \leq 10\) \(x_{i} \leq 10^{6}\)
7 2 \(x_{0} \leq 10^{6}\) \(m \leq 10\) \(x_{i} \leq 10^{6}\) У, 6
8 6 \(x_{0} = 0\) \(m \leq 10\,000\) \(x_{i} \leq 10^{6}\) 4, 6
9 10 \(x_{0} \leq 10^{6}\) \(m \leq 10\,000\) \(x_{i} \leq 10^{6}\) У, 4–8
10 7 \(x_{0} \leq 10^{6}\) \(m \leq 10^{5}\) \(x_{i} \leq 10^{6}\) У, 4–9
11 2 \(m \leq 10\) У, 1, 6, 7
12 12 \(x_{0} = 0\) \(m \leq 10^{5}\) \(d = 1\)
13 5 \(m \leq 10^{5}\) \(d = 1\) 12
14 8 \(x_{0} = 0\) \(m \leq 10^{5}\) 4, 6, 8, 12
15 2 \(m \leq 10^{5}\) У, 1–14
16 1 \(m \leq 2 \cdot 10^{5}\) У, 1–15
17 3 \(m \leq 3 \cdot 10^{5}\) У, 1–16
18 9 У, 1–17

Примечание

В первом тесте для второго участника (\(t_2=1\)) оптимальным будет следующий алгоритм поражения целей:

  1. Переместиться из точки \(x_0=2\) в точку \(x_0-d=-1\), потратив \(t_2=1\) калорию. Обратите внимание, координата посетителя может быть отрицательной.
  2. Поразить цель в точке \(x_2=0\), потратив \((-1 - 0)^2 = 1\) калорию.
  3. Переместиться в точку \(-1+2d=5\), потратив \(2t_2 = 2\) калории.
  4. Поразить цель в точке \(x_1=4\), потратив \((5 - 4)^2 = 1\) калорию.
  5. Переместиться в точку \(5+d=8\), потратив \(t_2=1\) калорию.
  6. Поразить цель в точке \(x_3=7\), потратив \((8 - 7)^2 = 1\) калорию.

Суммарные затраты энергии равны \(1 + 2 + 1 + 1 + 1 + 1 = 7\) калорий. Можно показать, что это минимальное количество энергии.

Для шестого участника (\(t_6=23\)) оптимальным будет следующий алгоритм поражения целей:

  1. Поразить цель в точке \(x_2=0\), потратив \((2 - 0)^2 = 4\) калории.
  2. Переместиться в точку \(2+d=5\), потратив \(t_6=23\) калории.
  3. Поразить цель в точке \(x_3=7\), потратив \((7 - 5)^2 = 4\) калории.
  4. Поразить цель в точке \(x_1=4\), потратив \((5 - 4)^2 = 1\) калорию.

Суммарные затраты энергии равны \(4 + 23 + 4 + 1 = 32\) калории. Можно показать, что это минимальное количество энергии.

Примеры
Входные данные
3
4 0 7
2 3
7
0
1
2
3
4
23
25
Выходные данные
3
7
10
12
13
32
33
Входные данные
4
30 239 57 179
0 7
5
1
10
15
100
100000
Выходные данные
49
355
525
3378
93311
Входные данные
4
100 2 101 666
9 10
5
777
1
2
15
10
Выходные данные
49597
91
159
1043
703
Сдать: для сдачи задач необходимо войти в систему