#ABC355C. [ABC355C] 宾果游戏 2(Bingo 2)

[ABC355C] 宾果游戏 2(Bingo 2)

题目描述

有一个 N×NN \times N 的网格,其中第 i i 行(从上往下)第 j j 列(从左往右)的单元格包含整数 N× (i1)+j N\times\ (i-1)+j

T T 个回合中,将会声明不同的整数。

在第 i i 个回合,整数 AiA_i 被声明,包含 的单Ai A_i 元格被标记。

确定第一次达成 Bingo 的回合数。

如果在 TT 个回合内没有达成 Bingo,请输出 -1

这里,达成 Bingo 意味着满足以下条件之一:

  • 存在一行中所有 NN 个单元格都被标记。
  • 存在一列中所有 NN 个单元格都被标记。
  • 存在一条对角线(从左上到右下或从右上到左下)中所有 NN 个单元格都被标记

输入格式

第一行输入 N N T T

第二行输入 A1 A_1 A2 A_2 \ldots AT A_T

输出格式

如果在 TT 个回合内达成 Bingo,输出第一次达成 Bingo 的回合数;否则,输出 -1

样例 #1

样例输入 #1

3 5
5 1 8 9 7

样例输出 #1

4

样例 #2

样例输入 #2

3 5
4 2 9 7 5

样例输出 #2

-1

样例 #3

样例输入 #3

4 12
13 9 6 5 2 7 16 14 8 3 10 11

样例输出 #3

9

提示

样例说明1

网格状态变化如下。在第 44 个回合首次达成 Bingo。

样例说明 2

在五个回合内没有达成 Bingo,所以输出 -1

数据范围

  • 2 N 2× 103 2\leq\ N\leq\ 2\times\ 10^3
  • 1 T min(N2,2× 105) 1\leq\ T\leq\ \min(N^2,2\times\ 10^5)
  • 1 Ai N2 1\leq\ A_i\leq\ N^2
  • t如果i j i\neq\ j Ai Aj A_i\neq\ A_j
  • 所有输入均为整数