Pagini recente » Cod sursa (job #197695) | Cod sursa (job #2578663) | Cod sursa (job #2645282) | Cod sursa (job #2534889) | Cod sursa (job #2725142)
#include <iostream>
#include <fstream>
#define NMAX 5000002
using namespace std;
ifstream fin("deque.in");
ofstream gout("deque.out");
int a[NMAX], deque1[NMAX];
long long suma;
int n, k, front1, back1;
int main()
{
fin >> n >> k;
front1 = 1;
back1 = 0;
for (int i = 0; i < n; ++i)
{
fin >> a[i];
while(front1 <= back1 and a[i] < a[deque1[back1]])
back1--;
deque1[++back1] = i;
if(deque1[front1] == i-k)
front1++;
if(i >= k-1)
suma += a[deque1[front1]];
}
gout << suma;
return 0;
}