#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
const int SIZE = 10;
int a1[] = { 2, 2, 4, 4, 4, 6, 6, 6, 6, 8 };
vector< int > v( a1, a1 + SIZE );
vector< int >::iterator upper;
cout << "\n\nUse upper_bound to locate the last point\n"
<< "at which 7 can be inserted in order";
upper = upper_bound( v.begin(), v.end(), 7 );
cout << "\n Upper bound of 7 is element "
<< ( upper - v.begin() ) << " of vector v";
return 0;
}