Pagini recente » Cod sursa (job #1319181) | Cod sursa (job #3152003) | Cod sursa (job #1780528) | Cod sursa (job #1818509) | Cod sursa (job #2726212)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int n, k, idx = 0;
int sum = 0;
int st,dr;
int a[10000000] = { 0 };
int deque[10000000];
int main()
{
fin >> n >> k;
for (int i = 1; i <= n; i++) {
int x;
fin >> x;
a[i] = x;
}
dr = 1;
st = 0;
for (int i = 1; i <= n; i++) {
while (dr <= st && a[i] <= a[deque[st]])
st--;
deque[++st] = i;
if (deque[dr] <= i - k)
dr++;
if (i >= k) sum += a[deque[dr]];
}
fout << sum;
return 0;
}