EduBrick

N. Два отрезка

3000 мс · 256 МБ · всё или ничего

Дан массив AA из nn чисел. В каждом запросе рассматриваются два непересекающихся отрезка: первый — Al1,…,Ar1A_{l_1}, \ldots, A_{r_1}, второй — Al2,…,Ar2A_{l_2}, \ldots, A_{r_2}.

За одну операцию разрешено увеличить или уменьшить любой элемент массива на единицу. Найдите наименьшее число операций, после которых минимум на втором отрезке станет не меньше максимума на первом. Запросы независимы: изменения одного запроса не влияют на остальные.

Формат ввода

В первой строке — числа nn и qq (1≤n,q≤1051 \le n, q \le 10^5). Во второй — nn чисел AiA_i (1≤Ai≤1091 \le A_i \le 10^9). В следующих qq строках — четвёрки l1l_1, r1r_1, l2l_2, r2r_2 (1≤l1≤r1≤n1 \le l_1 \le r_1 \le n, 1≤l2≤r2≤n1 \le l_2 \le r_2 \le n); отрезки не пересекаются.

Формат вывода

На каждый запрос выведите наименьшее число операций.

Примеры

ввод
6 4
3 5 2 3 10 11
1 2 3 4
1 3 4 6
1 4 5 6
4 5 1 2
вывод
3
2
0
7
ввод
2 1
1 1000000000
1 1 2 2
вывод
0
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.