數列分段Section I

2021-10-19 01:19:44 字數 787 閱讀 5502

對於給定的乙個長度為n的正整數數列a

ia_i

ai​ ,現要將其分成連續的若干段,並且每段和不超過m(可以等於m),問最少能將其分成多少段使得滿足要求。

第1行包含兩個正整數n,m,表示了數列a

ia_i

ai​的長度與每段和的最大值,第2行包含n個空格隔開的非負整數a

ia_i

ai​ ,如題目所述。

乙個正整數,輸出最少劃分的段數。

輸入輸出

5 63

4 2 4 5 1

-對於20%的資料,有n≤10;

對於40%的資料,有n≤1000;

對於100%的資料,有n≤100000,m≤109

10^9

109,m大於所有數的最小值,a

ia_i

ai​ 之和不超過109

10^9

109 。

將數列如下劃分:

[4][2 4][5 1]

第一段和為4,第2段和為6,第3段和為6均滿足和不超過m=6,並可以證明3是最少劃分的段數。

**如下:

#include

using

namespace std;

int a[

100005];

intmain()

for(

int i =

1; i <= n; i++

)else

} cout << ans +1;

return0;

}

洛谷1181數列分段Section I

對於給定的乙個長度為n的正整數數列a i 現要將其分成連續的若干段,並且每段和不超過m 可以等於m 問最少能將其分成多少段使得滿足要求。貪心,每次把盡可能大的一段數分成一段。時間複雜度o n var n,m,i,j,ans longint a array 1.100000 of longint be...

P1181 數列分段Section I

對於給定的乙個長度為n的正整數數列a i 現要將其分成連續的若干段,並且每段和不超過m 可以等於m 問最少能將其分成多少段使得滿足要求。輸入格式 輸入檔案divide a.in的第1行包含兩個正整數n,m,表示了數列a i 的長度與每段和的最大值,第2行包含n個空格隔開的非負整數a i 如題目所述。...

P1181 數列分段Section I

對於給定的乙個長度為n的正整數數列a i 現要將其分成連續的若干段,並且每段和不超過m 可以等於m 問最少能將其分成多少段使得滿足要求。輸入格式 輸入檔案divide a.in的第1行包含兩個正整數n,m,表示了數列a i 的長度與每段和的最大值,第2行包含n個空格隔開的非負整數a i 如題目所述。...