計蒜客 T1878 丟瓶蓋 二分

2021-10-10 00:24:57 字數 895 閱讀 9463

題目鏈結

陶陶是個貪玩的孩子,他在地上丟了 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,分別表示陣列的長度和查詢的次數...