Pagini recente » Cod sursa (job #1386147) | Cod sursa (job #2357183) | Cod sursa (job #1995812) | Cod sursa (job #779826) | Cod sursa (job #1649277)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
const int Nmax = 5000005;
int n, a[Nmax], D[Nmax], k, front, back;
long long s;
int main()
{
f>>n>>k;
for(int i = 1; i <= n; i++) f>>a[i];
front = 1;
back = 0;
for(int i = 1; i <= n; i++)
{
while(front <= back && a[i] <= a[D[back]]) back--;
D[++back] = i;
if(D[front] == i-k) front++;
if(i >= k) s += a[D[front]];
}
g<<s<<'\n';
return 0;
}