#777. KUP-Plot purchase

KUP-Plot purchase

题目描述

Byteasar 打算购买一块工业用地。他的资产估计为 kk 拜塔勒(bythalers),这也是 Byteasar 想要花费的金额。然而,找到一块价值正好为 kk 拜塔勒的地块并非易事。因此,Byteasar 准备购买一块更贵的地块。他考虑申请贷款。

Byteotian 信贷银行最多可以向他提供 kk 拜塔勒的贷款。因此,Byteasar 在地块上的花费不能超过 2k2k 拜塔勒,且他希望花费不少于 kk 拜塔勒。

Byteasar 想要购买地块的区域是一个边长为 nn 米的正方形。目前的土地所有者设定了不同的每平方米价格。Byteasar 与他们每个人都谈过,并准备了一份该区域的价格地图。地图描绘了每一个 1×11 \times 1 米小方格的价格。显然,共有 n2n^2 个这样的小方格。

现在是寻找理想地块的时候了。它必须是矩形的,且由完整的单位小方格组成。Byteasar 已经在地图上寻找地块,但在花费了许多小时后,他仍然无法找到合适的地块。请帮帮他!

编写一个程序:

从标准输入读取 kknn,以及该区域的价格地图, 确定一个价格在区间 [k,2k][k, 2k] 内的地块,或者指出不存在这样的地块,

将结果输出到标准输出。

输入格式

第一行包含两个整数 kknn,由一个空格分隔,1k1091 \le k \le 10^91n20001 \le n \le 2000

接下来 nn 行,每行 nn 个非负整数,用空格分隔。第 j+1j+1 行的第 ii 个数字表示坐标为 (i,j)(i, j) 的单位方格的价格。每个方格的价格不超过 20000000002\,000\,000\,000 拜塔勒。

输出格式

如果不存在价格在区间 [k,2k][k, 2k] 内的地块,程序应输出一行,内容为 NIENIE(波兰语中的"不")。

否则,输出一行,包含四个正整数 x1,y1,x2,y2x_1, y_1, x_2, y_2,由空格分隔,表示矩形的坐标。(x1,y1)(x_1, y_1) 表示矩形的左上角坐标,(x2,y2)(x_2, y_2) 表示右下角坐标。该矩形由满足 $\{ (x,y) \mid x_1 \le x \le x_2 \text{ 且 } y_1 \le y \le y_2 \}$ 的小方格组成。构成该矩形的小方格价格总和 cc 应满足不等式 kc2kk \le c \le 2k

如果存在多个满足条件的矩形地块,任选一个即可。

8 4
1 2 1 3
25 1 2 1
4 20 3 3
3 30 12 2
2 1 4 2

数据规模与约定

对于 100%100\% 的数据:

1k1091 \le k \le 10^9

1n20001 \le n \le 2000

0ai,j2×1090 \le a_{i,j} \le 2 \times 10^9

其中 ai,ja_{i,j} 表示坐标为 (i,j)(i, j) 的单位方格价格。