G 土耳其冰淇凌

2021-10-04 18:04:42 字數 1539 閱讀 1315

g - 土耳其冰淇凌 gym - 101194d

熊貓先生非常喜歡冰淇淋,尤其是冰淇淋塔。乙個冰淇淋塔由k個冰淇淋球堆疊成乙個塔。為了使塔穩定,下面的冰淇淋球至少要有它上面的兩倍大。換句話說,如果冰淇淋球從上到下的尺寸是a0, a1, a2,···,ak 1,那麼a0×2 ≤ a1, a1 × 2 ≤ a2,等等。

有一天,熊貓先生在街上走著,發現一家賣冰淇淋球的商店。冰淇淋球共有n個,大小分別為b0、b1、b2、··、bn−1。潘達先生想知道這些球最多能做出的冰淇淋塔數量。

輸入的第一行給出了測試用例的數量,接下來是t , t組測試用例。每個測試用例都以乙個由2個整數組成的行開始,n是商店中冰淇淋球的數量,k是形成乙個冰淇淋塔所需的冰淇淋球的數量。下一行包含n個整數,表示商店中各個冰淇淋球的大小

對於每個測試用例,輸出一行包含「case #x: y」,其中x是測試用例號(從1開始),y是冰淇淋塔的最大數量。

• 1 ≤ t ≤ 100.

• 1 ≤ n ≤ 3 × 105.

• 1 ≤ k ≤ 64.

• 1 ≤ bi ≤ 1018.

34 2

1 2 3 4

6 31 1 2 2 4 4

6 31 1 2 2 3 4

case #1: 2

case #2: 2

case #3: 1

題意:給你一些n個冰淇淋球,每k個冰淇淋球堆起來成為乙個冰淇淋,但是對於每個冰淇淋,要保證上面的這個冰淇淋球的體積要小於等於下面的冰淇淋球的二分之一,不然就沒法堆起來成乙個冰淇淋。問你最多能堆多少個冰淇淋。

思路:我們可以用二分的方法,二分答案,判斷答案x的時候,我們可以每x個一起判斷,如果判斷到n還沒有結束的話,就直接返回不可能。

ac

#include

#include

#include

#include

using

namespace std;

#define ll long long

const

int n=

3e5+10;

ll a[n]

;ll b[n]

;int n,k;

intjudge

(int x)

int u=x+1;

for(

int j=x+

1;j<=k*x;j++

)//x個數一起判斷

if(u==n+1)

b[j]

=a[u]

; u++;}

return1;

}int

main()

sort

(a+1

,a+1

+n);

int l=

0,r=n/k;

int ans=0;

while

(l<=r)

else

}printf

("case #%d: %d\n"

,tot++

,ans);}

return0;

}

汽車與冰淇凌與調查分析精神

汽車與冰淇凌與調查分析精神 我先講個汽車與冰淇凌的故事。如果你沒聽過,你可以隨我的文章提示思考。有一天,美國通用汽車公司客戶服務部收到一封信,這是我為同一件事第二次寫信,我不會怪你們沒有回信給我,因為我也覺得這樣別人會認為我瘋了,但這的確是乙個事實。我家有個習慣,就是每天晚餐後,都會以冰淇淋來當飯後...

盧偉冰 紅公尺K30 5G定於1月7號上午10點首賣

techweb 12 月 30 日訊息,小公尺中國區總裁 紅公尺品牌總經理盧偉冰今天在微博上宣布,紅公尺k30 5g定於 1 月 7 asaxzxrelo號上午 10 點首賣。同時,盧偉冰還曬出了redmi k30 5g版的倉庫 大批k30 現貨整裝待發。根據官方的介紹,紅公尺k30 5g搭載高通驍...

中國移動尚冰 5G產業進入衝刺階段,商用正提速

2018 世界移動大會上海上,中國移動董事長尚冰表示,兩周前3gpp完成了5g第一階段全功能標準化工作,一些國家已經頒發5g頻率許可,表明5g產業進入全面衝刺階段,5g商用程序正在提速。5g時代有可能成為電信運營市場創造新模式 構建新格局的重要分水嶺,誰能更好地洞察和培育5g應用的廣闊市場,誰能更好...