#CF1861D. 乘法排序

乘法排序

乘法排序

  • 时间限制:2 秒
  • 内存限制:256 MiB

题目描述

给定一个长度为 nn 的正整数数组 aa。一次操作可以选择 1≤l≤r≤n1\le l\le r\le n 和任意整数 xx,把区间 [l,r][l,r] 中的每个元素都乘以 xx。整数 xx 可以为负数。

求至少需要多少次操作,才能使数组严格递增。

输入格式

第一行包含测试组数 tt(1≤t≤1041\le t\le 10^4)。

每组数据第一行包含一个整数 nn(1≤n≤2×1051\le n\le 2\times10^5),第二行包含 nn 个整数 a1,a2,…,ana_1,a_2,\ldots,a_n(1≤ai≤1091\le a_i\le10^9)。

所有测试组的 nn 之和不超过 2×1052\times10^5。

输出格式

对每组数据输出一个整数,表示所需的最少操作次数。

样例输入 1

3
5
1 1 2 2 2
6
5 4 3 2 5 1
3
1 2 3

样例输出 1

3
2
0

数据范围

子任务编号 分值 特殊限制
1 30 每组 n≤14n\le14
2 每组 n≤3000n\le3000
3 40 无特殊限制

对于所有数据,1≤t≤1041\le t\le10^4,1≤n≤2×1051\le n\le2\times10^5,1≤ai≤1091\le a_i\le10^9,且所有测试组的 nn 之和不超过 2×1052\times10^5。