對於給定的乙個長度為nn的正整數數列a_iai,現要將其分成連續的若干段,並且每段和不超過mm(可以等於mm),問最少能將其分成多少段使得滿足要求。
輸入格式:
第1行包含兩個正整數n,mn,m,表示了數列a_iai的長度與每段和的最大值,第22行包含nn個空格隔開的非負整數a_iai,如題目所述。
輸出格式:
乙個正整數,輸出最少劃分的段數。
輸入樣例#1:複製
5 6輸出樣例#1:複製4 2 4 5 1
3對於20\%20%的資料,有n≤10n≤10;
對於40\%40%的資料,有n≤1000n≤1000;
對於100\%100%的資料,有n≤100000,m≤10^9n≤100000,m≤109,mm大於所有數的最小值,a_iai之和不超過10^9109。
將數列如下劃分:
[4][2 4][5 1][4][24][51]
第一段和為44,第22段和為66,第33段和為66均滿足和不超過m=6m=6,並可以證明33是最少劃分的段數。
ac:
#include using namespace std;
int n, m; //長度為n,不超m
int a, sum = 0;
int ans = 0;
int main()
if(i == n-1)
ans++;
continue;
}else
}printf("%d",ans);
return 0;
}
洛谷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個空格隔開的非負...