解析:先把陣列排序,我們需要取某一段,這一段的最大-最小<=k,關鍵是取哪一段。可以對於每個數,往後找,找到第乙個減它》k的,這中間一段就滿足了任意兩個數之差<=k了。找的過程可以用upper_lound(,,x),它返回第乙個大於x的數。當然也可以直接手寫二分了。
#include#include或者直接手寫二分了#include
#include
#include
#include
using
namespace
std;
typedef
long
long
ll;const
int maxn=2e5+10
;ll a[maxn];
intmain()
cout
} }
#include#include#include
#include
#include
#include
using
namespace
std;
typedef
long
long
ll;const
int maxn=2e5+10
;ll a[maxn];
intmain()
else
l=mid+1
; }
maxx=max(maxx,l-i);
}
cout
}
}
牛客小白月賽24 B 組隊
時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 題目描述 你的團隊中有 n個人,每個人有乙個能力值 ai 現在需要選擇若干個人組成乙個團隊去參加比賽,由於比賽的規則限制,乙個團隊裡面任意兩個人能力的差值必須要小於...
牛客練習賽24 B 鳳 凰
很久很久很久以前沒寫出來的題,現在突然想起來把它給補了 思路 對於1號節點的若干個兒子節點,我們發現其上有鳥的時間其實就等去該子樹的大小 1,然後該樹上的鳥到根節點又需要1秒,所以我們只需要找出根節點的若干個兒子中最大的子樹就行,用vector存圖會超時,所以直接就用鏈式前向星寫了 includeu...
牛客小白月賽24 題解
牛客小白月賽24 題解 最後還剩一道計算幾何,其實可以ak,但沒必要 b 簽到 include using namespace std const int n 2e5 10 int a n int main printf d n ans return 0 c 還行 includeusing name...