fun binarySearch(arr: IntArray, target: Int): Int {
    var left = 0
    var right = arr.size - 1

    while (left <= right) {
        val mid = left + (right - left) / 2  // 중간 인덱스 계산

        when {
            arr[mid] == target -> return mid  // 타겟 값을 찾은 경우
            arr[mid] < target -> left = mid + 1  // 중간 값보다 타겟 값이 큰 경우
            else -> right = mid - 1  // 중간 값보다 타겟 값이 작은 경우
        }
    }

    return -1
}

fun main() {
    val arr = intArrayOf(1, 3, 5, 7, 9, 11, 13, 15, 17, 19)
    val target = 7
    val resultIndex = binarySearch(arr, target)

    if (resultIndex != -1) {
        println("Element $target found at index $resultIndex")
    } else {
        println("Element $target not found in the array.")
    }
}