#include <bits/stdc++.h>
using
namespace
std;
void
findLowerBound(vector<pair<
int
,
int
> >& arr,
pair<
int
,
int
>& p)
{
auto
low = lower_bound(arr.begin(), arr.end(), p);
cout <<
"lower_bound() for {2, 5}"
<<
" is at index: "
<< low - arr.begin() << endl;
}
void
findUpperBound(vector<pair<
int
,
int
> >& arr,
pair<
int
,
int
>& p)
{
auto
up = upper_bound(arr.begin(), arr.end(), p);
cout <<
"upper_bound() for {2, 5}"
<<
" is at index: "
<< up - arr.begin() << endl;
}
int
main()
{
vector<pair<
int
,
int
> > arr;
arr = { { 1, 3 }, { 1, 7 }, { 2, 4 },
{ 2, 5 }, { 3, 8 }, { 8, 6 } };
pair<
int
,
int
> p = { 2, 5 };
findLowerBound(arr, p);
findUpperBound(arr, p);
return
0;
}