最大中位數 二分

2022-10-09 02:48:10 字數 1194 閱讀 7214

給定乙個由 n

'>n

n 個整數組成的陣列 a

'>a

a,其中 n

'>n

n 為奇數。

你可以對其進行以下操作:

選擇陣列中的乙個元素(例如 a

i'>a[ i ]

),將其增加 1

'>1ai

+1'>。

你最多可以進行 k

'>

k 次操作,並希望該陣列的中位數能夠盡可能大。

奇數長度的陣列的中位數是陣列以非降序排序後的中間元素。

例如,陣列 [1,

5,2,

3,5]

'>[1,5,2,3,5]

的中位數為 3

'>

3。輸入格式

第一行包含兩個整數 n

'>

n 和 k

'>

k。第二行包含 n

'>

n 個整數 a1,

a2,…

,an'>a1,a2,…,an

。輸出格式。

輸出乙個整數,表示通過操作可能得到的最大中位數。

資料範圍

對於 30

%'>30%

的資料,1≤n

≤5'>1 ≤ n ≤ 5

。對於 100

%'>100%

的資料,1≤n

≤2×10

5'>1 ≤ n ≤ 2 ×10^5,1≤

k≤109

'>1 ≤ k ≤ 10^9,1≤

ai≤10

9'>1 ≤ a[2]≤ 10^9

。輸入樣例1:

3 2

1 3 5

輸出樣例1:
5

#include using namespace std;

typedef long long ll;

const int n = 200005;

int n, k;

int a[n];

bool check(int mid)

}return ans <= k;

}int main()

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

return 0;

}

最大中位數

題目 給定乙個由 nn 個整數組成的陣列 aa,其中nn 為奇數。你可以對其進行以下操作 你最多可以進行 kk 次操作,並希望該陣列的中位數能夠盡可能大。奇數長度的陣列的中位數是陣列以非降序排序後的中間元素。例如,陣列 1,5,2,3,5 1,5,2,3,5 的中位數為 33。輸入格式 第一行包含兩...

中位數(DP 二分)

單點時限 10.0 sec 記憶體限制 256 mb 你的地圖是一張白紙,所以即使想決定目的地,也不知道路在 qq 小方最近在自學圖論。他突然想出了乙個有趣的問題 一張由 n 個點,m 條邊構成的有向無環圖。每個點有點權 ai。qq 小方想知道所有起點為 1 終點為 n 的路徑中最大的中位數是多少。...

樹狀陣列 二分 中位數之中位數

給出乙個長度為 n 的序列 a 首先求出其所有區間的中位數,將這些中位數構成的集合記為 s 求 s 中所有數的中位數。此題中位數指 有 n 個數,第 left lfloor frac right rfloor 1 個數即為中位數。資料範圍 1 leq n leq 10 5,1 leq a i leq...