果園裡有 n 顆果樹,每棵果樹都有乙個編號 i(1≤i≤n)。小明已經把每棵果樹上的果子都摘下來堆在了這棵樹的下方,每棵樹下方的果子體積為 ai。
現在小明將拿來 m 個袋子把這些果子都裝進袋子裡。每個袋子的體積為 v 。
小明會按照如下規則把果子裝進袋子裡:
(a) 從第 1 棵果樹開始裝起,由 1 到 n 一直裝到第 n 棵果樹。
(b) 如果這棵果樹下的果子能全部裝進當前這個袋子,就裝進去;如果不能,就關上當前這個袋子,開啟乙個新的袋子開始裝。
小明希望在能把所有果子都裝進袋子裡的前提下,v 盡量小。m 個袋子並不一定都要裝進果子。
輸入第 1 行,包含兩個整數 n 和 m 。
輸入第 2 行,包含 n 個整數 ai 。
輸出僅一行,表示最小的 v 。
輸入
3 3輸出1 2 3
3
輸入
5 3輸出1 3 6 1 7
7
輸入
6 3輸出1 2 1 3 1 4
4
【樣例解釋1】
每個袋子的體積為 3 即可。前 2 棵果樹的果子裝在第乙個袋子裡,第 3 棵果樹的果子裝在第二個袋子裡。第三個袋子不用裝了。
【樣例解釋2】
每個袋子的體積為 7 即可。前 2 棵果樹的果子裝在第乙個袋子裡,此時第乙個袋子已經裝了 4 單位體積的果子,第 3 棵果樹的果子裝不下了,所以裝進第二個袋子裡,第 4 棵果樹的果子剛好裝進第二個袋子,第 5 棵果樹的果子裝進第三個袋子裡。
【樣例解釋3】
每個袋子的體積為 4 即可。前 3 棵果樹的果子裝在第乙個袋子裡,第 4~5 棵果樹的果子裝在第二個袋子裡,第 6 棵果樹的果子裝在第三個袋子裡。
【資料範圍】
對於40%的資料,0i≤1,000;
對於70%的資料,0i≤100,000;
對於100%的資料,0i≤1,000,000,000。
解題報告:
#include#includelong long a[100001];
long long mmp,n,m;
inline long long readint()
inline bool f(long long x)
return ct<=m;
}int main()
while(l<=r)
printf("%i64d\n",l);
return 0;
}
C NOIP模擬題 動態分班
某中學對班級實行動態管理,每學年結束後都要重新分配班級,但這所學校重新分配的方法和石室中學完全不同。現在給出一些屬於同一年級學生的連續編號,它們都是從 a 到 b 的整數。一開始每個編號都屬於各自不同的班 即乙個班只有乙個學生 然後學校將進行以下的調整 每次選擇兩個屬於不同班的編號,如果這兩個編號擁...
C NOIP模擬題 列車排程
161114 練習 day1 ahsdfz t2 有 n 輛列車,標記為 1,2,3,n。它們按照一定的次序進站,站台共有 k 個軌道,軌道遵從先進先出的原則。列車進入站台內的軌道後可以等待任意時間後出站,且所有列車不可後退。現在要使出站的順序變為 n,n 1,n 2,1,詢問 k 的最小值是多少。...
C NOIP模擬題 間諜網路
由於外國間諜的大量滲入,正處於高度危機之中。如果a間諜手中掌握著關於b間諜的犯罪證據,則稱a可以揭發b。有些間諜接 賂,只要給他們一定數量的美元,他們就願意交出手中掌握的全部情報。所以,如果我們能夠收買一些間諜的話,我們就可能控制間諜網中的每一分子。因為一旦我們逮捕了乙個間諜,他手中掌握的情報都將歸...