程式設計思維 week9 作業C 公園長凳

2021-10-05 12:36:30 字數 954 閱讀 5433

sduqd 旁邊的濱海公園有 x 條長凳。第 i 個長凳上坐著 a_i 個人。這時候又有 y 個人將來到公園,他們將選擇坐在某些公園中的長凳上,那麼當這 y 個人坐下後,記k = 所有椅子上的人數的最大值,那麼k可能的最大值mx和最小值mn分別是多少。

第一行包含乙個整數 x (1 <= x <= 100) 表示公園中長椅的數目

第二行包含乙個整數 y (1 <= y <= 1000) 表示有 y 個人來到公園

接下來 x 個整數 a_i (1<=a_i<=100),表示初始時公園長椅上坐著的人數

輸出 mn 和 mx

371

61

6 13
新加入的人要坐到長凳上有許多種方案,在第i種方案中,記最終人數最多的長凳的人數為maxi。那麼,mx=max,mn=min。

顯然,mx=max+y,即新加入的人全部坐到人數最多的長椅上。

對於mn,考慮兩種情況(能否把每條長凳上的人數補平):

對於前者,mn為沒加入人之前人數最多的長凳的人數max;對於後者,mn為(加入前總人數sum+新來的人數y)/長凳數x+0 or 1(即盡量平均分人)。

#include

#include

using

namespace std;

int p[

105]

;int

main()

int ssum=0;

for(

int i=

0;i) ssum+

=(mmax-p[i]);

if(y<=ssum)

mmin=mmax;

else

printf

("%d %d"

,mmin,mmax+y)

;return0;

}

題目鏈結

Week 9 作業 C 簽到題

sduqd 旁邊的濱海公園有 x 條長凳。第 i 個長凳上坐著 a i 個人。這時候又有 y 個人將來到公園,他們將選擇坐在某些公園中的長凳上,那麼當這 y 個人坐下後,記k 所有椅子上的人數的最大值,那麼k可能的最大值mx和最小值mn分別是多少。第一行包含乙個整數 x 1 x 100 表示公園中長...

Week9 作業C 簽到題

sduqd 旁邊的濱海公園有 x 條長凳。第 i 個長凳上坐著 a i 個人。這時候又有 y 個人將來到公園,他們將選擇坐在某些公園中的長凳上,那麼當這 y 個人坐下後,記k 所有椅子上的人數的最大值,那麼k可能的最大值mx和最小值mn分別是多少。input 第一行包含乙個整數 x 1 x 100 ...

程式設計Week9 作業 B 東東學打牌

最近,東東沉迷於打牌。所以他找到 hrz zjm 等人和他一起打牌。由於人數眾多,東東稍微修改了億下遊戲規則 所有撲克牌只按數字來算大小,忽略花色。每張撲克牌的大小由乙個值表示。a,2,3,4,5,6,7,8,9,10,j,q,k 分別指代 1,2,3,4,5,6,7,8,9,10,11,12,13...