回答編集履歴
1
修正
answer
CHANGED
@@ -5,15 +5,16 @@
|
|
5
5
|
#include <iterator>
|
6
6
|
#include <algorithm>
|
7
7
|
|
8
|
+
int binary_search(const std::vector<int>& numbers, int target) {
|
9
|
+
auto itr = std::lower_bound(numbers.begin(), numbers.end(), 5);
|
10
|
+
return (itr == numbers.end() || *itr != 5) ?
|
11
|
+
-1 : static_cast<int>(std::distance(numbers.begin(), itr));
|
12
|
+
}
|
13
|
+
|
8
14
|
int main(void) {
|
9
15
|
using namespace std;
|
10
16
|
vector<int> numbers = { 1, 2 ,3 ,4 ,5 };
|
11
17
|
|
12
|
-
auto itr = lower_bound(numbers.begin(), numbers.end(), 5);
|
13
|
-
if ( itr == numbers.end() || *itr != 5 ) {
|
14
|
-
cout << -1 << endl;
|
15
|
-
} else {
|
16
|
-
|
18
|
+
cout << binary_search(numbers, 5) << endl;
|
17
|
-
}
|
18
19
|
}
|
19
20
|
```
|