lower_boundについて

#include <iostream>
#include <string>

using namespace std;

int a[5] = {10, 20, 20, 40, 60};

int main()
{
    cout << lower_bound(a, a + 5, 0) - a << endl; # 0
    cout << lower_bound(a, a + 5, 20) - a << endl; # 1
    cout << lower_bound(a, a + 5, 100) - a << endl; # 5

    cout << lower_bound(a, a + 5, 40) - a << endl; # 3
    cout << lower_bound(a, a + 5, 50) - a << endl; # 4
}