#P16036. [Oni2024]Detonator

    ID: 15247 传统题 1000ms 256MiB 尝试: 3 已通过: 1 难度: 5 上传者: 标签>算法基础贪心数据结构图论拓扑排序CF1800

[Oni2024]Detonator

题目描述

Roman 站在一个爆炸装置前。这个装置可以看作一个有 NN 层的金字塔,层数从 11NN 编号。第 ii 层有 ii 枚炸弹,记为 Bi,jB_{i,j},其中 jj 是该层中炸弹的编号。

对于每枚炸弹 Bi,jB_{i,j},已知它会在初始时刻之后 Ti,jT_{i,j} 秒爆炸。

Roman 需要按照下面的规则拆除所有炸弹:

  1. 拆除一枚炸弹需要 11 秒;
  2. 若要拆除炸弹 Bi,jB_{i,j},必须先拆除它下面直接支撑它的两枚炸弹,即 Bi+1,jB_{i+1,j}Bi+1,j+1B_{i+1,j+1}。第 NN 层的炸弹下面没有其他炸弹,因此不受这条限制。

当所有炸弹都被拆除时,整个装置才算被成功拆除。

Roman 不想太匆忙,因此他想知道:最多可以延迟多少秒开始拆除,仍然能够成功拆除整个装置。设这个最大延迟为 XX。等价地,你需要求最大的整数 XX,使得把所有爆炸时间都改成

Ti,jXT_{i,j}-X

以后,仍然存在一种合法的拆除顺序,使得每枚炸弹都能在爆炸前拆除。

XX 也可能是负数。如果当前已经来晚了,无法完成拆除,但如果早来 11 秒就可以完成,则 X=1X=-1;如果必须早来 22 秒才可以完成,则 X=2X=-2,依此类推。

任务

给定 QQ 组测试数据。对于每组数据,给出 NN 以及所有 Ti,jT_{i,j},请输出对应的最大 XX

输入格式

第一行包含整数 QQ,表示测试数据组数。

接下来依次给出 QQ 组测试数据。每组数据中:

第一行包含整数 NN

接下来 NN 行,第 ii 行包含 ii 个自然数,其中第 jj 个数为 Ti,jT_{i,j}

输出格式

输出 QQ 行。第 tt 行输出第 tt 组测试数据的答案 XX

数据范围

  • 1Q51 \le Q \le 5
  • 1N10001 \le N \le 1000
  • 1Ti,j1091 \le T_{i,j} \le 10^9

子任务

子任务 分值 限制
1 7 所有 Ti,jT_{i,j} 相等
2 13 $N\le 5,\
3 9 N5N\le 5
4 14 $N\le 50,\
5 13
6 2 N50N\le 50
7 9 $N\le 200,\
8 2 N200N\le 200
9 19 N500N\le 500
10 12 无额外限制

样例

输入

4
2
10
10 10
4
10
7 9
4 6 8
1 3 2 5
3
9
9 9
1 1 1
3
6
5 3
4 4 4

输出

7
0
-2
0

样例解释

第一组数据中,N=2N=2,共有 N(N+1)/2=3N(N+1)/2=3 枚炸弹,且都在 1010 秒后爆炸。Roman 最多可以等 77 秒再开始,之后分别在第 8,9,108,9,10 秒拆除三枚炸弹。

第二组数据对应图示,必须立即开始拆除,答案为 00

第三组数据中存在三枚一开始就会爆炸的炸弹,因此 Roman 需要早来 22 秒才可能成功拆除,答案为 2-2