20220233 - 滑道
公园建了一个水滑道,滑道由n段拼接而成,水从第n段流向第1段。为了滑道畅通我们需要从第1段到第n段的高度为一个不下降序列。但现在滑道各段的高度并不满足这个条件。
给出现在滑道的高度,每次操作时可以让一个区间[l,r]内的滑道高度都增加1。
最少需要几次操作可以让滑道形成从1到n的不下降序列?
Input
第一行,一个t表示有t组数据:
每组数据共两行:
第一行,一个整数n,表示滑道的段数。
第二行,n个整数a_i,表示每段滑道现在的高度。
对于100%的数据:
1 \le t \le 100;
1 \le n \le 2×10^5;
0 \le a_i \le 10^9。
Output
每组数据输出一行,包括一个整数,表示需要的最少操作次数。
Examples
Input
3 4 5 3 2 5 5 1 2 3 5 3 3 1 1 1
Output
3 2 0