華為OD機(jī)試-食堂供餐
某公司員工食堂以盒飯方式供餐。為將員工取餐排隊時間降低為0,食堂的供餐速度必須要足夠快。現(xiàn)在需要根據(jù)以往員工取餐的統(tǒng)計信息,計算出一個剛好能達(dá)成排隊時間為0的最低供餐速度。即,食堂在每個單位時間內(nèi)必須至少做出多少份盒飯才能滿足要求。
輸入描述:
第1行為一個正整數(shù)N,表示食堂開餐時長。1 <= N <= 1000。
第2行為一個正整數(shù)M,表示開餐前食堂已經(jīng)準(zhǔn)備好的盒飯份數(shù)。pi <= M <= 1000.
第3行為N個正整數(shù),用空格分隔,依次表示開餐時間內(nèi)按時間順序每個單位時間進(jìn)入食堂取餐的人數(shù)Pi。1 <=i<= N,0<= Pi<=100.
輸出描述:
個整數(shù),能滿足題目要求的最低供餐速度(每個單位時間需要做出多少份盒飯)
補(bǔ)充說明:
每人只取一份盒飯。
需要滿足排隊時間為0,必須保證取餐員工到達(dá)食堂時,食堂庫存盒飯數(shù)量不少于本次來取餐的人數(shù)。第一個單位時間來取餐的員工只能取開餐前食堂準(zhǔn)備好的盒飯。每個單位時間里制作的盒飯只能供應(yīng)給后續(xù)單位時間來的取餐的員工食堂在每個單位時間里制作的盒飯數(shù)量是相同的。
示例1
輸入:
3
14
10 4 5
輸出:
3
說明:
本樣例中,總共有3批員工就餐,每批人數(shù)分別為10、4、5.
開餐前食堂庫存14份。
食堂每個單位時間至少要做出3份餐飯才能達(dá)成排隊時間為0的目標(biāo)。具體情況如下:第一個單位時間來的10位員工直接從庫存取餐。取餐后庫存剩余4份盒飯,加上第一個單位時間做出的3份,庫存有7份。第一個單位時間來的4員工從庫存的7份中取4份。取餐后庫存剩余3份盒飯,加上第二個單位時間做出的3份,庫存有6份第二個單位時間來的員工從庫存的6份中取5份,庫存足夠。
如果食堂在單位時間只能做出2份餐飯,則情況如下:第一個單位時間來的10位員工直接從庫存取餐。取餐后庫存剩余4份盒飯,加上第一個單位時間做出的2份,庫存有6份.第二個單位時間來的4員工從庫存的6份中取4份。取餐后庫存剩余2份盒飯,加上第二個單位時間做出的2份,庫存有4份第三個單位時間來的員工需要取5份,但庫存只有4份,庫存不夠。
Java 實現(xiàn):https://renjie.blog.csdn.net/article/details/130819342
Python實現(xiàn):https://renjie.blog.csdn.net/article/details/130819360
C++ 實現(xiàn):https://renjie.blog.csdn.net/article/details/130819366
JavaScript實現(xiàn):https://renjie.blog.csdn.net/article/details/130819279
C實現(xiàn):https://renjie.blog.csdn.net/article/details/130819375