#include <algorithm>
#include <iostream>

int main( ) {
   int a[10] = { 1, 3, 4, 6, 8, 9, 11, 13, 17, 19 };
   for (int v = 0; v <= 20; ++v) {
      int* p = std::lower_bound(&a[0], &a[0] + 10, v);
      int* q = std::upper_bound(&a[0], &a[0] + 10, v);

      std::cout << "lower_bound de " << v << ": ";
      if (p == &a[0] + 10) {
         std::cout << "fin\n";
      } else {
         std::cout << *p << "\n";
      }

      std::cout << "upper_bound de " << v << ": ";
      if (q == &a[0] + 10) {
         std::cout << "fin\n";
      } else {
         std::cout << *q << "\n";
      }

      std::cout << "\n";
   }
}
