#include <stdio.h>
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
// 初期設定
printf("初期状態 v1 :");
vector<int> v1 {21, 67, 93, 73, 88, 73, 84, 53, 44, 43, 73, 72};
for (auto x : v1)
printf(" %d", x);
printf("\n");
// 小さい順にソート
printf("sort 後 v1 :");
sort(v1.begin(), v1.end());
for (auto x : v1)
printf(" %d", x);
printf("\n");
// 73 以上の最初の要素
printf("73 以上の最初の要素\n");
vector<int>::iterator it = lower_bound(v1.begin(), v1.end(), 73);
if (it != v1.end())
printf(" %d が見つかりました\n", *it);
// 73 より大きい最初の要素
printf("73 より大きい最初の要素\n");
it = upper_bound(v1.begin(), v1.end(), 73);
if (it != v1.end())
printf(" %d が見つかりました\n", *it);
// 73 以上,かつ,73 より大きい要素の位置
printf("73 以上,かつ,73 より大きい要素の位置\n");
pair <vector<int>::iterator, vector<int>::iterator> p;
p = equal_range(v1.begin(), v1.end(), 73);
printf(" 73 以上の要素: %d, 73 より大きい要素: %d\n", *(p.first), *(p.second));
// 73 と等しい要素を探す
printf("73 と等しい要素を探す\n");
bool b = binary_search(v1.begin(), v1.end(), 73);
cout << boolalpha << " result : " << b << endl;
return 0;
}