Pagini recente » Cod sursa (job #2981336) | Cod sursa (job #2566039) | Cod sursa (job #1520518) | Cod sursa (job #3224239) | Cod sursa (job #1566691)
#include <iostream>
#include <fstream>
#include <deque>
#define nmax 5000001
using namespace std;
int n, k;
int rez;
int A[nmax];
deque <int> D;
int main()
{
ifstream fi("deque.in");
ofstream fo("deque.out");
fi >> n >> k;
for (int i = 1; i <= n; i++)
{
fi >> A[i];
while (!D.empty() && A[i] <= A[D.back()])
D.pop_back();
D.push_back(i);
if (i < k)
continue;
if (i - D.front() >= k)
D.pop_front();
rez += A[D.front()];
}
fo << rez << "\n";
fi.close();
fo.close();
return 0;
}