題目鏈結
陶陶是個貪玩的孩子,他在地上丟了 aa 個瓶蓋,為了簡化問題,我們可以當作這 aa 個瓶蓋丟在一條直線上,現在他想從這些瓶蓋裡找出 bb 個,使得距離最近的 22 個距離最大,他想知道,最大可以到多少呢?
輸入格式
第一行,兩個整數,a,b\ (2\le b\le a \le 10^5)a,b (2≤b≤a≤105)。
第二行,aa 個整數,分別為這 aa 個瓶蓋座標,在 [1,10^9][1,10
9] 範圍內。
輸出格式
僅乙個整數,為所求答案。
就是求最大值最小化,有點像分餅pie題。
需要二分
注意check函式
#include
using
namespace std;
const
int maxn=
200008
;int arr[maxn]
;int c[maxn]
;//差
int a,b;
bool
check
(int m)
start++;}
if(ans>=b)
else
}int
main()
sort
(arr,arr+a)
;for
(int i=
1;imaxx=arr[a-1]
-arr[0]
;//最大值
int left=0;
int right=maxx;
while
(left+
1else}if
(check
(right)
)else
}
丟瓶蓋 二分
陶陶是個貪玩的孩子,他在地上丟了a個瓶蓋,為了簡化問題,我們可以當作這a個瓶蓋丟在一條直線上,現在他想從這些瓶蓋裡找出b個,使得距離最近的2個距離最大,他想知道,最大可以到多少呢?輸入格式 第一行,兩個整數,a,b。b a 100000 第二行,a個整數,分別為這a個瓶蓋座標。輸出格式 僅乙個整數,...
D 二分查詢(二) 計蒜客 T1561
題目描述 蒜頭君手上有個長度為 n 的陣列 a。由於陣列實在太大了,所以蒜頭君也不知道陣列裡面有什麼數字,所以蒜頭君會經常詢問在陣列 a 中,大於等於 x 的最小值是多大?輸入格式 第一行輸入兩個整數 n 和 m,分別表示陣列的長度和查詢的次數。接下來一行有 n 個整數 ai 接下來 m 行,每行有...
計蒜客 1562 二分查詢
蒜頭君手上有個長度為 nn 的陣列 aa。由於陣列實在太大了,所以蒜頭君也不知道陣列裡面有什麼數字,所以蒜頭君會經常詢問在陣列 aa 中,比 xx 大的最小值是多大?但是這次蒜頭君要求這個數字必須大於 xx,不能等於 xx。輸入格式 第一行輸入兩個整數 nn 和 mm,分別表示陣列的長度和查詢的次數...