D 二分查詢(二) 計蒜客 T1561

2021-10-16 15:38:46 字數 757 閱讀 6212

題目描述

蒜頭君手上有個長度為 n 的陣列 a。由於陣列實在太大了,所以蒜頭君也不知道陣列裡面有什麼數字,所以蒜頭君會經常詢問在陣列 a 中,大於等於 x 的最小值是多大?

輸入格式

第一行輸入兩個整數 n 和 m,分別表示陣列的長度和查詢的次數。

接下來一行有 n 個整數 ai​。

接下來 m 行,每行有 1 個整數 x,表示蒜頭君詢問的整數。

輸出格式

對於每次查詢,如果可以找到,輸出這個整數。

否則輸出 −1。

樣例輸入

10 5

1 1 1 2 3 5 5 7 8 901

4910樣例輸出11

59-1資料範圍

1 ≤ n, m ≤10^5, 0 ≤ x ≤ 10^6。

#include

intmain()

else

if(x<=a[0]

)else

else low=mid+1;

}printf

("%d\n"

,a[low]);

}}return0;

}

結果是錯的。。。不知道為什麼

115

5-1

計蒜客 1562 二分查詢

蒜頭君手上有個長度為 nn 的陣列 aa。由於陣列實在太大了,所以蒜頭君也不知道陣列裡面有什麼數字,所以蒜頭君會經常詢問在陣列 aa 中,比 xx 大的最小值是多大?但是這次蒜頭君要求這個數字必須大於 xx,不能等於 xx。輸入格式 第一行輸入兩個整數 nn 和 mm,分別表示陣列的長度和查詢的次數...

計蒜客T1156 查詢最近的元素 二分

題目貼上 在乙個非降序列中,查詢與蒜頭君的給定值最接近的元素。輸入格式 第一行包含乙個整數 n,為非降序列長度。1 n 100000。第二行包含 n 個整數,為非降序列各元素。所有元素的大小均在 0 1,000,000,000 之間。第三行包含乙個整數 m,為要詢問的給定值個數。1 m 10000。...

計蒜客 T1878 丟瓶蓋 二分

題目鏈結 陶陶是個貪玩的孩子,他在地上丟了 aa 個瓶蓋,為了簡化問題,我們可以當作這 aa 個瓶蓋丟在一條直線上,現在他想從這些瓶蓋裡找出 bb 個,使得距離最近的 22 個距離最大,他想知道,最大可以到多少呢?輸入格式 第一行,兩個整數,a,b 2 le b le a le 10 5 a,b 2...