二分探索ドリルのサムネイル
並び替えてから探す Java編(paizaランク B 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

宅配便の営業所で伝票整理システムを開発しています。営業所にバラバラに積まれた伝票それぞれの伝票番号が、順不同の整数列 A_1, A_2, ..., A_N として、問い合わせのあった伝票番号を表す整数 X が与えられます。

A を昇順に並び替えてから、X が A の中に存在するかを判定し、存在すれば Yes、存在しなければ No を出力してください。

存在判定は二分探索で行ってください。

入力される値

入力は以下のフォーマットで与えられます。

N X
A_1 A_2 ... A_N


・1 行目には整数 N と整数 X が空白区切りで与えられます。

・2 行目には N 個の整数 A_1, A_2, ..., A_N が空白区切りで与えられます。A は順不同です。

・入力は合計で 2 行からなり、入力値最終行の末尾に改行が 1 つ入ります。


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

伝票番号 X が A の中に存在する場合は Yes を、存在しない場合は No を 1 行に出力してください。出力の最後は改行し、余計な文字、空行を含んではいけません。

条件

すべてのテストケースにおいて、以下の条件をみたします。

・1 ≦ N ≦ 10000

・1 ≦ A_i ≦ 1000000000

・1 ≦ X ≦ 1000000000

入力例1

5 7
5 1 9 3 7

出力例1

Yes

入力例2

6 4
8 2 6 1 3 5

出力例2

No

問題一覧へ戻る

  1. paizaトップ
  2. レベルアップ問題集
  3. 二分探索ドリル(言語選択)
  4. 問題一覧 Java編
  5. 並び替えてから探す Java編
ページの先頭へ戻る