農夫約翰建造了一座有n間牛舍的小屋,牛舍排在一條直線上,第i間牛舍在xix_ixi的位置,但是約翰的m頭牛對小屋很不滿意,因此經常互相攻擊。約翰為了防止牛之間互相傷害,因此決定把每頭牛都放在離其它牛盡可能遠的牛舍。也就是要最大化最近的兩頭牛之間的距離。牛們並不喜歡這種布局,而且幾頭牛放在乙個隔間裡,它們就要發生爭鬥。為了不讓牛互相傷害。john 決定自己給牛分配隔間,使任意兩頭牛之間的最小距離盡可能的大,那麼,這個最大的最小距離是多少呢?
第一行用空格分隔的兩個整數n和m;
第二行為n個用空格隔開的整數,表示位置 xix_ixi
輸出僅乙個整數,表示最大的最小距離值。5 31 2 8 4 9
3把牛放在1,4,8這樣最小距離是3 。
#include#include#include#include#include#include#include#include#includeusing namespace std;
typedef long long ll;
ll x[100001];
ll a[100001];
ll n,m;
//最關鍵的部分check
bool check(ll x)
if(total>=m)return true;//提前安排好m個牛肯定滿足條件
} return false;
}int main()
cout/不明白乙個地方:求出來的r一定就能符合給定的陣列的安排嗎
return 0;
}
憤怒的牛 二分
題目描述 農夫約翰建造了一座有n間牛舍的小屋,牛舍排在一條直線上,第i間牛舍在xi的位置,但是約翰的m頭牛對小屋很不滿意,因此經常互相攻擊。約翰為了防止牛之間互相傷害,因此決定把每頭牛都放在離其它牛盡可能遠的牛舍。也就是要最大化最近的兩頭牛之間的距離。牛們並不喜歡這種布局,而且幾頭牛放在乙個隔間裡,...
二分和三分 憤怒的牛
為了彌補自己的二分太渣,從二分的水題做起,從我做起 題目描述 農夫約翰建造了一座有n間牛舍的小屋,牛舍排在一條直線上,第i間牛舍在xi的位置,但是約翰的m頭牛對小屋很不滿意,因此經常互相攻擊。約翰為了防止牛之間互相傷害,因此決定把每頭牛都放在離其它牛盡可能遠的牛舍。也就是要最大化最近的兩頭牛之間的距...
選牛(二分查詢)
在一條座標軸上,有n頭奶牛,第i頭奶牛的位置是xi。fj現在要選出三頭奶牛去比賽,不妨假設選擇了奶牛a,b,c。那麼必須要滿足 1 xa xb xc。2 xb xa xc xb 2 xb xa 你的任務是計算,fj總共有多少種不同的選擇?輸入格式 第一行,乙個整數n。3 n 1000 接下來有n行,...