程式設計與演算法(二)月度開銷

2021-09-13 16:41:26 字數 756 閱讀 5676

題目

農夫約翰是乙個精明的會計師。他意識到自己可能沒有足夠的錢來維持農場的運轉了。他計算出並記錄下了接下來 n (1 ≤ n ≤ 100,000) 天裡每天需要的開銷。約翰打算為連續的m (1 ≤ m ≤ n) 個財政週期建立預算案,他把乙個財政週期命名為fajo月。每個fajo月包含一天或連續的多天,每天被恰好包含在乙個fajo月裡。約翰的目標是合理安排每個fajo月包含的天數,使得開銷最多的fajo月的開銷盡可能少。

輸入

第一行包含兩個整數n,m,用單個空格隔開。接下來n行,每行包含乙個1到10000之間的整數,按順序給出接下來n天裡每天的開銷。

輸出

乙個整數,即最大月度開銷的最小值。

樣例輸入

7 5100

400300

100500

101400

樣例輸出

500思路

二分查詢,在輸入裡一邊找開銷最大的值max1,一邊將每一天的開銷累加起來得到tot。對於開銷最多的fajo月,開銷最少為max1(開銷最大的那一天),開銷最大為tot,也就是二分查詢的左右邊界。再看得到的財政週期個數是否能湊齊m個來縮範圍,多了在右半邊找,少了在左半邊找。

**

#include

4135 月度開銷

題目 描述農夫約翰是乙個精明的會計師。他意識到自己可能沒有足夠的錢來維持農場的運轉了。他計算出並記錄下了接下來 n 1 n 100,000 天裡每天需要的開銷。約翰打算為連續的m 1 m n 個財政週期建立預算案,他把乙個財政週期命名為fajo月。每個fajo月包含一天或連續的多天,每天被恰好包含在...

4135 月度開銷

農夫約翰是乙個精明的會計師。他意識到自己可能沒有足夠的錢來維持農場的運轉了。他計算出並記錄下了接下來 n 1 n 100,000 天裡每天需要的開銷。約翰打算為連續的m 1 m n 個財政週期建立預算案,他把乙個財政週期命名為fajo月。每個fajo月包含一天或連續的多天,每天被恰好包含在乙個faj...

1243月度開銷

農夫約翰是乙個精明的會計師。他意識到自己可能沒有足夠的錢來維持農場的運轉了。他計算出並記錄下了接下來 n 1 n 100,000 天裡每天需要的開銷。約翰打算為連續的m 1 m n 個財政週期建立預算案,他把乙個財政週期命名為fajo月。每個fajo月包含一天或連續的多天,每天被恰好包含在乙個faj...