#121. 修建高楼(build)
修建高楼(build)
【问题描述】
诸暨市有一条东西走向的“市河”。诸暨市市长打算在“市河”的其中一条岸边自东往西的 n 个位置(可以将这 n 个位置看成在一条直线上,且位置不会重叠)依次建造高楼。 诸暨 市的设计部门设计了 T 个方案供市长挑选(方案编号为 1 到 T)。每个方案都提供了建造的每幢高楼的高度,自东向西依次为 h1,h2,h3,…,hn-1,hn。每幢楼房的高度在 1 到 n 之间(包括 1 和 n),且各不相同。
市长在挑选设计方案时,喜欢 n 幢高楼中任意 3 幢(包括不连续的 3 幢)有一定的“梯度美”。所谓“梯度美”是指这 3 幢高楼满足:。
市长喜欢方案中这种“梯度美”现象越多越好。请编程帮市长挑选一下设计方案吧。
【输入数据】输入文件 build.in:输入从文件中读取,输入共 T+1 行。
第一行两个整数 T 和 n,分别表示设计部门提供的方案总数和打算建造的高楼数。 接下来每一行表示一种方案。第 i+1 行表示第 i 种方案,每行 n 个整数,依次表示每幢高楼打算建造的高度。
【输出数据】输出文件 build.out:结果输出到文件中,输出共 1 行。
包含两个整数,第一整数为出现“梯度美”次数最多的方案,第二个整数为对应方案“梯度美”出现的次数。如果出现“梯度美”次数最多的方案有多个,输出方案编号较小的方案。
【输入样例 1】
2 5
3 1 2 4 5
3 1 2 5 4
【输出样例 1】
1 1
【样例 1 解释】
输入中共有 2 个方案,打算建造 5 幢高楼。
第一个方案每幢高楼高度依次为 3,1,2,4,5,其中第 1 幢,第 4 幢和第 5 幢高度出现“梯度美”(3,4,5),这 3 幢高楼的后一幢比前一幢依次高 1。 第二个方案每幢高楼高度依次为 3,1,2,5,4,没有出现“梯度美”。
【输入样例2】
2 6
3 5 4 6 1 2
1 6 5 4 2 3
【输出样例2】
2 4
【样例 2 解释】 输入中共有 2 个方案,打算建造 6 幢高楼。
第一个方案每幢高楼高度依次为 3,5,4,6,1,2,没有出现“梯度美”。
第二个方案每幢高楼高度依次为 1,6,5,4,2,3,出现了 4 次“梯度美”,分别是(1,2,3)、(6,5,4)、(6,4,2)、(5,4,3)。
【数据范围约定】
50%的测试点输入数据保证 1≤T≤30,且 3≤n≤500
100%的测试点输入数据保证 1≤T≤50,且 3≤n≤2000