運氣糖果(字首和單調遞增佇列維護)

2021-10-04 12:19:00 字數 1559 閱讀 5235

運氣糖果

description

今天zjzjzj

學長想轉運,所以某某為他帶來nn

n顆運氣糖果。

每顆運氣糖果都有不同的幸運值。

既然zjzjzj

學長想轉運,自然希望自己的運氣越來越好了,但zjzjzj

學長最多又只能吃mm

m顆(m≤nm \leq nm≤

n)糖果。

而且吃東西自然就不想思考了,於是zjzjzj

學長把這個任務扔給了學acmacmac

m的你,請你幫他從這nn

n顆糖果中找出連續的kk

k顆糖果(k≤mk \leq mk≤

m),使得zjzjzj

學長可以得到最大的幸運值。

input

輸入格式

第一行包含兩個整數nn

n和mm

m,表示共有nn

n顆糖果,zjzjzj

最多只能吃mmm顆。

第二行包含空格隔開的nn

n個整數,第ii

i個整數pipipi

代表第i顆糖果的幸運值。

output

輸出格式

輸出包含乙個整數,為zj能夠得到的最大幸運值。

資料範圍

1≤m≤n≤10001 \leq m \leq n \leq 10001≤

m≤n≤

1000

,−1000≤pi≤1000−1000 \leq pi \leq 1000−1

000≤

pi≤1

000sample input 1

5 2

1 2 3 4 5

sample output 1

9

source

yzj

#include

#include

#include

#include

#include

#include

#include

#include

#include

using namespace std;

#define db double

#define ll long long

const

int len =

1e6+5;

ll sum[len]

;int

main()

#include

#include

#include

#include

using namespace std;

const

int len =

1e6+10;

int ar[len]

;int q[len]

;int

work

(int n,

int m)

return res;

}int

main()

單調佇列 維護

easy的學生的 資料結構 考試掛掉了,他求著easy再給他一次機會,easy出了這麼一道題,如果他的學生做出來就給這個學生一次重新考試的機會,題目是這樣的 維護乙個名為佇列的資料結構,支援以下四種操作 1.enqueue x 將值為x的元素放入佇列的尾部 2.dequeue 輸出當前佇列首部的元素...

動態規劃 單調佇列維護 烽火傳遞

用q i 表示到i前面符合條件的最小代價為多少 要取到i 單調佇列維護區間中q i 的最小值 l,r表示單調佇列的隊首與隊尾 從1到n迴圈,若q qj r q i 隊尾比當前大 彈出隊尾將當前放入 若qj l 最後更新一下q i q l a i 符合要求區間中最小值加當前值為當前最小值 答案在n n...

查稅 斜率優化 單調佇列維護凸包 分塊 )

id3167 有n個辦公室,m個操作,依次讀入 type 如果type為1 接著讀入 t k z s 表示乙個公司於t時刻進駐k辦公室,每天盈利為z,其一開始有s元。若k位置本有別的公司,別的公司會被覆蓋。如果type為2 接著讀入t b 表示於t時刻,你要找出區間 a,b 內,最有錢的公司的錢數。...