P1181 數列分段Section I(貪心)

2021-09-29 05:30:49 字數 860 閱讀 2618

題目描述

對於給定的乙個長度為nn的正整數數列a_ia

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

輸入格式

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

i​ 的長度與每段和的最大值,第22行包含nn個空格隔開的非負整數a_ia

i​ ,如題目所述。

輸出格式

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

輸入輸出樣例

輸入 #1複製

5 64 2 4 5 1

輸出 #1複製

3說明/提示

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

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

對於100%100%的資料,有n≤100000,m≤10^9n≤100000,m≤10

9,mm大於所有數的最小值,a_ia

i​ 之和不超過10^9109。

將數列如下劃分:

[4][2 4][5 1][4][24][51]

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

ac

#include

#include

using

namespace std;

intmain()

} cout << k

}

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 如題目所述。...

P1181 數列分段Section I

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