






Problem description
Rolnik Bitek dysponuje również podłużną działką, którą chciałby zagospodarować. Chciałby rozpocząć od wyrównania poziomu działki. Działkę można podzielić na N fragmentów o wysokościach h1, …, hN. Bitek jest w stanie (jedną ze swoich rolniczych maszyn) wybrać pewien spójny przedział fragmentów tej samej wysokości i zwiększyć lub zmniejszyć ich wysokość o dokładnie 1. Przykładowo, jeżeli działka Bitka podzielona jest na fragmenty o wysokościach 1, 3, 5, 4, 3, Bitek mógłby zmniejszyć wysokość fragmentu 5 otrzymując wysokości 1, 3, 4, 4, 3, następnie zmniejszyć wysokość fragmentów o wysokości 4, otrzymując wysokości 1, 3, 3, 3, 3, a następnie zwiększyć pierwsze fragment dwukrotnie, otrzymując fragmenty 3, 3, 3, 3, 3.
Każda taka operacja jest okupiona dużym wysiłkiem rolnika Bitka, dlatego chciałby wykonać ich jak najmniej. Nie wie jednak, jaka powinna być ostateczna wysokość działki, dlatego zada Ci Q pytań. Twoim zadaniem jest napisać program, który dla każdego zapytania odpowie Bitkowi, jaką co najmniej liczbę przekształceń terenu będzie musiał dokonać, żeby wszystkie fragmenty działki miały określoną przez Bitka wysokość.
Wejście
W pierwszym wierszu wejścia znajdują się dwie liczby całkowite N, Q, oznaczające długość działki Bitka oraz liczbę zapytań. W następnym wierszu następuje N liczb całkowitych h1, …, hN, oznaczających kolejne wysokości fragmentów działki. W następnych Q wierszach następuje opis zapytań. Każde zapytanie składa się z jednej liczby całkowitej z.
Wyjście
Dla każdego zapytania Bitka należy wypisać jedną liczbę całkowitą, oznaczającą minimalną liczbę przekształceń terenu, jaką musi wykonać Bitek, aby zrównać teren do wartości z zapytania.
Ograniczenia
1 ≤ N, Q ≤ 200 000, 1 ≤ hi, z ≤ 109.
Przykład
Wejście | Wyjście | |
|
|
Wejście | Wyjście | |
|
|