Monoxer Programming Contest for Engineers
コンテスト日時
2025/08/08 (Fr) 18:30 - 20:10

B - One card trick taking

Milk
2
s
1024
MB
200

問題文

$N$人のプレイヤーでゲームをします。各プレイヤーにはカードが1枚配られます。$i$人目に配られるカードは$A_i$の整数が書いてあり、色は$B_i$です。ここで、色$K$のカードは切り札カードです。また、配られるどの2枚のカードについても、整数と色の少なくとも一方は異なります。

ゲームは、1人目から順番にカードを出していき、次のルールにより勝者が決定します。

  • 出されたカードの中に切り札カードがあった場合、切り札カードの中で一番大きい整数が書かれたカードを出したプレイヤーが勝利する
  • 出されたカードの中に切り札カードがない場合、1人目が出した色のカードのうち、最も大きい整数が書かれたカードを出したプレイヤーが勝利する

このゲームの勝者を出力してください。

制約

  • $1 \le N \le 2 \times 10^5$
  • $1 \le K \le 10^9$
  • $1 \le A_i \le 10^9$
  • $1 \le B_i \le 10^9$
  • $i \neq j$ならば$A_i \neq A_j$または$B_i \neq B_j$

入力

$N\ K$
$A_1\ B_1$
$A_2\ B_2$
$\vdots$
$A_N\ B_N$

出力

勝者が$i$人目のプレイヤーであるとしたときの$i$の値を1行に出力してください。末尾に改行を入れてください。

入力例 1
3 2 1 1 5 2 7 3
出力例 1
2

切り札カードが出されており、切り札カードの中で最も大きい整数が書かれたカードを出した2人目のプレイヤーが勝利します。

入力例 2
3 3 1 1 10 1 100 2
出力例 2
2

切り札カードが出されておらず、1番目のプレイヤーが出した色のカードのうち最も大きい整数が書かれたカードを出した2人目のプレイヤーが勝利します。

入力例 3
1 1000000000 1 1
出力例 3
1
提出
C++23 (g++ 12.2.0)