Pagini recente » Cod sursa (job #2471766) | Cod sursa (job #2951609) | Cod sursa (job #596652) | Cod sursa (job #1635155) | Cod sursa (job #1649268)
#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], s, k, front, back;
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;
}