Jzoj 1422 猴子摘桃

2021-09-24 19:34:41 字數 922 閱讀 7357

現有a

aa類猴子有n

nn只,編號為1

11到n

nn,b

bb類猴子有m

mm只,編號為1

11到m

mm。a

aa類猴子中的第k

kk只摘到第乙個桃子需要花費a

ka_k

ak​秒,此後每b

kb_k

bk​秒就能摘到桃子;b

bb類猴子中的第k

kk只掰開第乙個桃子需要花費c

kc_k

ck​秒,此後每d

kd_k

dk​秒就能掰開乙個桃子。

兩種猴子不能同時待在場地內.

a li

ce

alice

alic

e非常喜歡看b

bb類猴子掰桃子,告訴你表演的總時間,但不知道一共有多少個桃子,請你幫ali

ce

alice

alic

e計算b

bb類猴子進入動物園的時刻。

因為只有分a、b

a、ba、

b兩類,因此很容易想到二分

二分列舉出a

aa類猴子摘桃時間,再算出a

aa類和b

bb類猴子摘(掰)桃子的個數,比較即可

答案為l

ll或l−1

l-1l−

1中間,優先選l

ll,判斷即可

#includeusing namespace std;

int t,n,m;

int a[105],b[105],c[105],d[105];

bool check(int x)

int main()

if(check(l)) cout

JZOJ1422 猴子摘桃

動物園內最受歡迎就是猴子了,因為它們除了能爬能跳外還會很多技能。其中a類猴子特別擅長爬樹摘桃,而b類猴子擅長把桃子掰成兩半。a類猴子有n只,編號為1到n,b類猴子有m只,編號為1到m。a類猴子中的第k只摘到第乙個桃子需要花費a k秒,此後每b k秒就能摘到桃子 b類猴子中的第k只掰開第乙個桃子需要花...

63猴子摘桃

程式設計訓練63猴子摘桃 問題描述 五隻猴子一起摘了一堆桃子,因為太累,五隻猴子決定先睡一覺再分。不久,其中乙隻猴子醒來了,它見別的猴子沒有醒來,便將一堆桃子平均分成 5 份,結果多了乙個,就將多的這個吃了,拿走其中的乙份並離開。又不久,第二隻猴 子醒來了,它不知道有乙個同伴已經拿走過桃子,便又將剩...

005猴子摘桃

猴子吃桃問題 猴子第一天摘下若干個桃子,當即吃了一半,還不過癮,又多吃了乙個。第二天早上又將第一天剩下的桃子吃掉一半,又多吃乙個。以後每天早上都吃了前一天剩下的一半零乙個。到第十天早上想再吃時,發現只剩下乙個桃子了。編寫程式求猴子第一天共摘了多少個桃子。include intmain void re...