AT_abc355_c [ABC355C] Bingo 2

题目描述

有一个纵向 $N$ 行、横向 $N$ 列的网格,对于从上到下第 $i$ 行、从左到右第 $j$ 列的格子,格子中写有整数 $N \times (i-1) + j$。 接下来会进行 $T$ 个回合,每回合会宣布一个互不相同的整数。在第 $i$ 回合,会宣布 $A_i$,并在写有 $A_i$ 的格子上做标记。请你求出首次达成“宾果”(Bingo)的回合数。如果在 $T$ 个回合内都无法达成宾果,请输出 $-1$。 这里,“达成宾果”指的是以下条件至少满足一项: - 存在某一行,该行的 $N$ 个格子全部被标记。 - 存在某一列,该列的 $N$ 个格子全部被标记。 - 存在某一条对角线,该对角线的 $N$ 个格子全部被标记。

输入格式

输入通过标准输入给出,格式如下: > $N$ $T$ $A_1$ $A_2$ $\ldots$ $A_T$

输出格式

如果在 $T$ 个回合内达成宾果,请输出首次达成宾果的回合数;否则输出 $-1$。

说明/提示

### 限制条件 - $2 \leq N \leq 2 \times 10^3$ - $1 \leq T \leq \min(N^2, 2 \times 10^5)$ - $1 \leq A_i \leq N^2$ - 若 $i \neq j$,则 $A_i \neq A_j$ - 所有输入均为整数 ### 样例解释 1 网格的状态变化如下图所示。首次达成宾果是在第 $4$ 回合。 ![](https://img.atcoder.jp/abc355/85614db45da7c299bcc5551fc45092a7.png) ### 样例解释 2 在 $5$ 个回合内无法达成宾果,因此请输出 $-1$。 由 ChatGPT 4.1 翻译