AT_abc355_c [ABC355C] Bingo 2
Description
[problemUrl]: https://atcoder.jp/contests/abc355/tasks/abc355_c
縦 $ N $ 行、横 $ N $ 列のマス目があり、上から $ i $ 行目、左から $ j $ 列目のマスには整数 $ N\times\ (i-1)+j $ が書かれています。
今から $ T $ ターンにわたって相異なる整数が宣言されます。$ i $ ターン目には $ A_i $ が宣言され、$ A_i $ が書かれたマスに印をつけます。初めてビンゴを達成するのは何ターン目か求めてください。ただし、$ T $ ターンの中でビンゴを達成しない場合は `-1` を出力してください。
ここで、ビンゴを達成するとは以下のいずれかのうち少なくとも一つ満たされることを言います。
- マス目の横の列であって、列に含まれる $ N $ 個のマスすべてに印がついているものが存在する
- マス目の縦の列であって、列に含まれる $ N $ 個のマスすべてに印がついているものが存在する
- マス目の対角線の列であって、列に含まれる $ N $ 個のマスすべてに印がついているものが存在する
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ T $ $ A_1 $ $ A_2 $ $ \ldots $ $ A_T $
Output Format
$ T $ ターンの中でビンゴを達成するならば初めてビンゴを達成するターンを、そうでないならば `-1` を出力せよ。
Explanation/Hint
### 制約
- $ 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 $
- 入力は全て整数
### Sample Explanation 1
マス目の状態は以下のように変化します。初めてビンゴを達成するのは $ 4 $ ターン目です。 !\[\](https://img.atcoder.jp/abc355/85614db45da7c299bcc5551fc45092a7.png)
### Sample Explanation 2
$ 5 $ ターンの中でビンゴを達成できないので `-1` を出力してください。