洛谷 P1714 切蛋糕 單調佇列

2021-09-26 04:01:34 字數 937 閱讀 7822

今天是小z的生日,同學們為他帶來了一塊蛋糕。這塊蛋糕是乙個長方體,被用不同色彩分成了n個相同的小塊,每小塊都有對應的幸運值。

小z作為壽星,自然希望吃到的第一塊蛋糕的幸運值總和最大,但小z最多又只能吃m小塊(m≤n)的蛋糕。

吃東西自然就不想思考了,於是小z把這個任務扔給了學oi的你,請你幫他從這n小塊中找出連續的k塊蛋糕(k≤m),使得其上的幸運值最大。

輸入檔案cake.in的第一行是兩個整數n,m。分別代表共有n小塊蛋糕,小z最多只能吃m小塊。

第二行用空格隔開的n個整數,第i個整數pi代表第i小塊蛋糕的幸運值。

輸出檔案cake.out只有一行,乙個整數,為小z能夠得到的最大幸運值。

輸入 #1複製

5 2

1 2 3 4 5

輸出 #1複製

9
輸入 #2複製

6 3

1 -2 3 -4 5 -6

輸出 #2複製

5
對20%的資料,n≤100。

對100%的資料,n≤500000,|pi|≤500。 答案保證在2^31-1之內。

n個數中取連續的k(k<=m)個數,輸出其中所有可能的最大值。

#include #include #include #define linf -2e9-7

using namespace std;

int n,m,s,sum[500001];

struct node

a[500001];

dequedq;

signed main()

for(i=1;i<=n;i++)

cout

}

洛谷P1714 切蛋糕 題解 單調佇列

題目大意 給你乙個大小為 n 的陣列,求滿足區間元素個數 le m 的連續子串行和的最大值。解題思路 假設陣列中第 i 個元素為 a i 我可以定義 sum i 表示前 i 個數之和 sum i sum i 1 a i 則,以 a i 結尾的最大連續子串行和為 sum i min sum j 我們可...

P1714 切蛋糕 單調佇列

p1714 切蛋糕 單調佇列 gyro永不抽風 最後更新 2020年09月20日 18 09 許可協議 今天是小z的生日,同學們為他帶來了一塊蛋糕。這塊蛋糕是乙個長方體,被用不同色彩分成了n個相同的小塊,每小塊都有對應的幸運值。小z作為壽星,自然希望吃到的第一塊蛋糕的幸運值總和最大,但小z最多又只能...

洛谷 P1714 切蛋糕

題目描述 今天是小z的生日,同學們為他帶來了一塊蛋糕。這塊蛋糕是乙個長方體,被用不同色彩分成了n個相同的小塊,每小塊都有對應的幸運值。小z作為壽星,自然希望吃到的第一塊蛋糕的幸運值總和最大,但小z最多又只能吃m小塊 m n 的蛋糕。吃東西自然就不想思考了,於是小z把這個任務扔給了學oi的你,請你幫他...