問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
気温センサーのログを分析するシステムを開発しています。ある期間に計測された N 回分の気温の記録を昇順に並び替えた整数列 A_1, A_2, ..., A_N と、調べたい気温を表す整数 X が与えられます。同じ気温が何度も計測されることがあるため、A の中には同じ値が連続して並ぶことがあります。
並び替えた記録の中で X が最初に現れる位置と、最後に現れる位置(いずれも先頭を 1 番目とする)を空白区切りで出力してください。X が記録の中に存在しない場合は -1 -1 を出力してください。
二分探索で解いてください。
入力は以下のフォーマットで与えられます。
N X
A_1 A_2 ... A_N
気温 X が最初に現れる位置と最後に現れる位置(先頭を 1 番目とする)を空白区切りで 1 行に出力してください。X が存在しない場合は -1 -1 を出力してください。出力の最後は改行し、余計な文字、空行を含んではいけません。
すべてのテストケースにおいて、以下の条件をみたします。
・1 ≦ N ≦ 10000
・1 ≦ A_i ≦ 1000000000
・1 ≦ X ≦ 1000000000
・A は昇順に並んでいる(A_1 ≦ A_2 ≦ ... ≦ A_N)
7 5
1 3 5 5 5 7 9
3 5
5 4
1 2 3 5 6
-1 -1