17template <
typename T> int64_t jump_search(std::vector<T> arr, T key) {
18 int64_t n = arr.size(), step = sqrt(arr.size()), prev = 0;
19 while (arr[std::min(step, n) - 1] < key) {
26 while (arr[prev] < key) {
28 if (prev == std::min(step, n)) {
32 return (arr[prev] == key) ? prev : -1;