인덱스 2 printf("upper_bound(4)의 인덱스: %d\n", ub_idx); // 4 초과의 첫 위치 -> 인덱스 5 return 0; } //찾는값이 없으면 n+1이 나온다."> 인덱스 2 printf("upper_bound(4)의 인덱스: %d\n", ub_idx); // 4 초과의 첫 위치 -> 인덱스 5 return 0; } //찾는값이 없으면 n+1이 나온다."> 인덱스 2 printf("upper_bound(4)의 인덱스: %d\n", ub_idx); // 4 초과의 첫 위치 -> 인덱스 5 return 0; } //찾는값이 없으면 n+1이 나온다.">
#include <iostream>
#include <algorithm> 
using namespace std;

int main() {
    // 반드시 정렬되어 있어야한다!
    int arr[7] = {1, 2, 4, 4, 4, 6, 7};
    int n = 7;
    int lb_idx = lower_bound(arr, arr + n, 4) - arr;
    int ub_idx = upper_bound(arr, arr + n, 4) - arr;

    printf("lower_bound(4)의 인덱스: %d\n", lb_idx); // 4 이상의 첫 위치 -> 인덱스 2
    printf("upper_bound(4)의 인덱스: %d\n", ub_idx); // 4 초과의 첫 위치 -> 인덱스 5

    return 0;
}
//찾는값이 없으면 n+1이 나온다.