それは理解の多くは、問題の解決策ではない、制限されています
このこんにゃくを見ていただきありがとうございます
1083:配列のバイナリ検索
制限時間:1秒 メモリ制限:128メガバイトの提出:1646 解決:641
[ 送信 ] [ ステータス ] [ ウェブボード ]
説明
1500年に整数xの整数の位置を確認し、これらの数値は、小規模から大規模にソートされています。出力がある場合に出力位置は、存在する場合は-1。
入力
最初の行は、X線1500リア整数、各行整数
出力
整数(位置xに対して、出力がある場合-1)
サンプル入力
5
1
2
5
7
.....
サンプル出力
3
ヒント
バイナリテンプレートを探します
コード:
#include <ビット/ STDC ++ H> 使用して 名前空間STDを、 int型のx; INT [ 1501 ]。 INT のmain() { int型左= 1、右= 1500は、ミッド=見つける- 1 。 cinを >> X; 以下のために(int型 i = 1 ; iは= < 1500 ; iは++ ) CIN >> [I]。 しながら、(左<= 右) { 半ば =(左+右)/ 2 。 もし([中期] ==X){ 見つける = ミッド。 破ります; } もし([中間] < X) { 左 =ミッド+ 1 。 } もし([中間]> X) { 右 =半ば1 。 } } COUT << 見つけます。 // freopenは( "yzlak.in"、 "R"、STDIN)。 // freopenは( "yzlak.out"、 "W"、STDOUT)。 }