Pagini recente » Cod sursa (job #3224543) | Cod sursa (job #1974928) | Cod sursa (job #526725) | Cod sursa (job #1270547) | Cod sursa (job #2704583)
#include<fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int dq[5000010], st, dr;
int a[5000010];
int main()
{
int n,k;
f>>n>>k;
st = 1;
dr = 0;
long long smin =0;
for(int i = 1; i<=n; ++i)
f>>a[i];
for(int i = 1; i<=k; ++i)
{
while(dr>=st && a[i]< a[dq[dr]])
dr--;
dq[++dr] = i;
}
smin += a[dq[st]];
for(int i =k+1; i<=n; ++i)
{
if(dq[st] == i-k)
st++;
while(dr>=st && a[i]< a[dq[dr]])
dr--;
dq[++dr] = i;
smin += a[dq[st]];
}
g<<smin<<"\n";
f.close();
g.close();
return 0;
}