對於給定的乙個長度為n的正整數數列a[i],現要將其分成連續的若干段,並且每段和不超過m(可以等於m),問最少能將其分成多少段使得滿足要求。
輸入格式:
輸入檔案divide_a.in的第1行包含兩個正整數n,m,表示了數列a[i]的長度與每段和的最大值,第2行包含n個空格隔開的非負整數a[i],如題目所述。
輸出格式:
輸出檔案divide_a.out僅包含乙個正整數,輸出最少劃分的段數。
輸入樣例#1:
5 64 2 4 5 1
輸出樣例#1:
3
對於20%的資料,有n≤10;
對於40%的資料,有n≤1000;
對於100%的資料,有n≤100000,m≤10^9,m大於所有數的最小值,a[i]之和不超過109。
將數列如下劃分:
[4][2 4][5 1]
第一段和為4,第2段和為6,第3段和為6均滿足和不超過m=6,並可以證明3是最少劃分的段數。
1 #include 2 #include 3 #include 4 #include 5 #include 67using
namespace
std;
8const
int n=100010;9
10 inline void read(int &x)
1117
18int
a[n];
1920
intmain()
2129
int ans(0
);30
for(int i=1;i<=n;i++)
3138 ans++;
39 i--;40}
41 printf("%d"
,ans);
42 }
洛谷P1181 數列分段
題目描述 對於給定的乙個長度為n的正整數數列a i 現要將其分成連續的若干段,並且每段和不超過m 可以等於m 問最少能將其分成多少段使得滿足要求。輸入輸出格式 輸入格式 輸入檔案divide a.in的第1行包含兩個正整數n,m,表示了數列a i 的長度與每段和的最大值,第2行包含n個空格隔開的非負...
洛谷 P1181 數列分段Section I
題目描述 對於給定的乙個長度為n的正整數數列a i 現要將其分成連續的若干段,並且每段和不超過m 可以等於m 問最少能將其分成多少段使得滿足要求。輸入輸出格式 輸入格式 輸入檔案divide a.in的第1行包含兩個正整數n,m,表示了數列a i 的長度與每段和的最大值,第2行包含n個空格隔開的非負...
洛谷 P1181 數列分段Section I
題目描述 對於給定的乙個長度為n的正整數數列a i 現要將其分成連續的若干段,並且每段和不超過m 可以等於m 問最少能將其分成多少段使得滿足要求。輸入輸出格式 輸入格式 輸入檔案divide a.in的第1行包含兩個正整數n,m,表示了數列a i 的長度與每段和的最大值,第2行包含n個空格隔開的非負...