编程题
### 问题描述
野兽先辈有一个由 $n$ 个整数组成的数组。数组元素的索引为 $1, 2, \dots, n$。
他可以使用以下操作修改数组:选择一个数组元素并将其值增加 $1$。
他的任务是处理 $q$ 个查询,形式为:当我们考虑从位置 $a$ 到位置 $b$ 的子数组时,经过多少次操作后子数组是递增的?
如果每个元素都大于或等于前一个元素,则数组是递增的。
### 输入格式
第一行有两个整数 $n$ 和 $q$,表示数组的大小和查询的数量。
接下来一行有 $n$ 个整数 $x_1, x_2, \dots, x_n$,表示数组的内容。
最后,有 $q$ 行描述查询。每行有两个整数 $a$ 和 $b$,表示子数组的起始和结束位置。
### 输出格式
对于每个查询,输出最小操作次数。
### 样例输入
```
5 3
2 10 4 2 5
3 5
2 2
1 4
```
### 样例输出
```
2
0
14
```
### 评测数据规模
$1 \leq n, q \leq 10^5$,$1 \leq x_i \leq 10^9$,$1 \leq a \leq b \leq n$。