B - Erase Mountain
解説
/
/
実行時間制限: 2 sec / メモリ制限: 1024 MiB
配点 : 100 点
問題文
長さ N の正整数列 A_1, A_2, \dots, A_N が与えられます。
この数列に対して、以下の操作を何回でも(0 回でもよい)行うことができます。
- A_{i-1} \leq A_{i} かつ A_{i} \geq A_{i + 1} を満たす i \ (2 \leq i \leq N - 1) を選び A_{i} を 1 減らす。
A を単調非減少にするための操作回数の最小値を求めてください。どのように操作をしても単調非減少にできない場合は -1 を出力してください。
T 個のテストケースについて答えてください。
制約
- 1 \leq T \leq 10^4
- 3 \leq N \leq 2\times 10^5
- 1 \leq A_i \leq 10^9 \ (1 \leq i \leq N)
- すべてのテストケースについての N の総和は 2\times 10^5 以下
- 入力される数値はすべて整数
入力
入力は以下の形式で標準入力から与えられる。
T
\mathrm{case}_1
\mathrm{case}_2
\vdots
\mathrm{case}_T
各テストケースは以下の形式で与えられる。
N A_1 A_2 \dots A_N
出力
各テストケースについて、答えを整数として出力せよ。
入力例 1
3 4 1 4 3 2 5 1 2 3 4 5 3 2 3 1
出力例 1
3 0 -1
1 個目のテストケースについて、
- 1 回目の操作で i = 2 を選ぶと、 A = (1, 3, 3, 2) となります。
- 2 回目の操作で i = 2 を選ぶと、 A = (1, 2, 3, 2) となります。
- 3 回目の操作で i = 3 を選ぶと、 A = (1, 2, 2, 2) となり、単調非減少にすることができます。
2 回以下の操作で A を単調非減少にすることはできないので、 3 が答えとなります。
2 個目のテストケースについて、はじめから A が単調非減少なので 0 が答えとなります。