loj 10011憤怒的牛

2021-08-28 08:56:37 字數 1226 閱讀 3196

題目描述

原題來自:usaco 2005 feb. gold

農夫約翰建造了一座有 nnn 間牛舍的小屋,牛舍排在一條直線上,第 iii 間牛舍在 xix_ix​i​​ 的位置,但是約翰的 mmm 頭牛對小屋很不滿意,因此經常互相攻擊。約翰為了防止牛之間互相傷害,因此決定把每頭牛都放在離其它牛盡可能遠的牛舍。也就是要最大化最近的兩頭牛之間的距離。

牛們並不喜歡這種布局,而且幾頭牛放在乙個隔間裡,它們就要發生爭鬥。為了不讓牛互相傷害。john 決定自己給牛分配隔間,使任意兩頭牛之間的最小距離盡可能的大,那麼,這個最大的最小距離是多少呢?

輸入格式

第一行用空格分隔的兩個整數 nnn 和 mmm;

第二行為 nnn 個用空格隔開的整數,表示位置 xix_ix​i​​。

輸出格式

輸出僅乙個整數,表示最大的最小距離值。

樣例

樣例輸入

5 3

1 2 8 4 9

樣例輸出

3
樣例解釋

把牛放在 111, 444 ,888 這樣最小距離是 333 。

資料範圍與提示

2 ≤ n ≤10^5​​,0 ≤ x​i​​ ≤ 10​^9​​, 2≤m≤n2。

我本來想去寫三分,但是我發現前面還有一些二分題,我就順道給寫了

一般都是這種最小值的最大化和最大值的最小化會用到二分吧

#include#include#include#includeusing namespace std;

int n,m;

int x[100003];

bool flag(int d)

return t >= m;//如果奶牛數多於真實值,則成立

}int main()

sort(x + 1,x + n + 1);

int l = 0,r = x[n] - x[1];//先為最大值和最小值賦值

while(l <= r)

printf("%d\n",r);

return 0;

}

SSL ZYC 憤怒的牛

題目大意 farmer john建造了乙個有n個隔間的牛棚,這些隔間分布在一條直線上,座標是x1,xn 他的c頭牛不滿於隔間的位置分布,它們為牛棚裡其他的牛的存在而憤怒。為了防止牛之間的互相打鬥,farmer john想把這些牛安置在指定的隔間,所有牛中相鄰兩頭的最近距離越大越好。那麼,這個最大的最...

PTA 憤怒的牛

農夫約翰建造了一座有 n 間牛舍的小屋,牛舍排在一條直線上,第i間牛舍在 x i 的位置,但是約翰的 m 頭牛對小屋很不滿意,因此經常互相攻擊。約翰為了防止牛之間互相傷害,因此決定把每頭牛都放在離其它牛盡可能遠的牛舍。也就是要最大化最近的兩頭牛之間的距離。牛們並不喜歡這種布局,而且幾頭牛放在乙個隔間...

SSL ZYC 憤怒的牛

題目大意 farmer john建造了乙個有n個隔間的牛棚,這些隔間分布在一條直線上,座標是x1,xn 他的c頭牛不滿於隔間的位置分布,它們為牛棚裡其他的牛的存在而憤怒。為了防止牛之間的互相打鬥,farmer john想把這些牛安置在指定的隔間,所有牛中相鄰兩頭的最近距離越大越好。那麼,這個最大的最...