H 二分練習

2021-10-11 14:34:54 字數 730 閱讀 9161

description

給你乙個序列,然後給你m個元素,讓你從序列中找出與每個元素最接近的數字輸出來,如果有兩個就輸出兩個。

input

多組輸入,第一行給你兩個數n(0 < n < 10000000),m(0 < m < n),接下來是數列的n個數,然後再輸入m個元素,讓你找出最接近每個元素的值。如果有兩個,按從小到大輸出。

output

這m個數分別輸出最接近每個元素的值,組與組之間輸出乙個空行。

sample

input

8 41 2 3 4 5 6 8 1149

27output48

26 8

#include

using namespace std;

using namespace std;

const

long

long maxn =

1e7+10;

int a[maxn]

;int n, m, k;

void

bsearch

(int l,

int r,

int key)

}else

}int

main()

sort

(a,a+n)

;while

(m--

) cout<}return0;

}

H 指數 二分 lower bound二分

給定一位研究者 被引用次數的陣列 被引用次數是非負整數 編寫乙個方法,計算出研究者的 h 指數。h 指數的定義 h 代表 高引用次數 high citations 一名科研人員的 h 指數是指他 她 的 n 篇 中 總共有 h 篇 分別被引用了至少 h 次。其餘的 n h 篇 每篇被引用次數不超過h...

sdut 二分練習

problem description 給你乙個序列,然後給你m個元素,讓你從序列中找出與每個元素最接近的數字輸出來,如果有兩個就輸出兩個。input 多組輸入,第一行給你兩個數n 0 n 10000000 m 0 m n 接下來是數列的n個數,然後再輸入m個元素,讓你找出最接近每個元素的值。如果有...

sdut 二分練習

二分練習 time limit 1000 ms memory limit 65536 kib problem description 給你乙個序列,然後給你m個元素,讓你從序列中找出與每個元素最接近的數字輸出來,如果有兩個就輸出兩個。input 多組輸入,第一行給你兩個數n 0 n 10000000...