STL Algorithms Modifying Sequence Operations C++ Tutorial

#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
typedef pair Pair;
inline bool less_than_second( const Pair& b1, const Pair& b2 ){
   return b1.second < b2.second;
}
int main( )
{
   const char* names[] = { "A","B", "C", "D","E" };
   const int values[] = { 18, 20, 26, 30, 41 };
   const int num_pairs = sizeof( names ) / sizeof( names[0] );
   vector pair( num_pairs );
   transform( values, values+num_pairs, names,pair.begin(), make_pair );
   if( pair[1].first > pair[3].first )
      cout << pair[1].second << " > " << pair[3].second << endl;
   else if( pair[1].first == pair[3].first )
      cout << pair[1].second << " == " << pair[3].second << endl;
   else
      cout << pair[1].second << " < " << pair[3].second << endl;
}