二分探索木 (Binary Search Tree) の最頻値を求める
二分探索木が与えられた場合、その木に含まれる数値の中で最もよく出現する要素(モード)を求める問題です。
同じ値は常にノードの右部分木に格納されるという前提があります。つまり、子ノードの値が親ノードの値と同じであれば、必ず右側に配置されることになります。ただし、同じ値が必ずしも連続して登場するとは限らない点に注意してください。
入力
入力は自動的に処理されるため、あなたが操作を行う必要はありません。与えられる二分探索木は正しい構造であることが保証されています。
出力
プログラムは、二分探索木の中で最も頻繁に登場する値を出力する必要があります。もし複数の値が同じ頻度で最も多く登場する場合には、その中で最も小さい値を出力してください。
例
入力 | 出力 |
7
3 1 2 4 2 3 2 | 2 |
Constraints
Time limit: 5 seconds
Memory limit: 512 MB
Output limit: 1 MB