Pagini recente » Cod sursa (job #437845) | Istoria paginii runda/preoji-cls9 | Istoria paginii runda/the_dolphin_project | Istoria paginii runda/fdsfdsfds/clasament | Cod sursa (job #1780226)
#include <iostream>
#include <fstream>
#include <deque>
#define NMAX 5000001
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");
deque<int> d;
long long int a[NMAX];
int main()
{
int n, k;
in >> n >> k;
for (int i = 1; i <= n; i++)
in >> a[i];
in.close();
long long int s = 0;
for (int i = 1; i <= n; i++)
{
while (d.size() > 0 && a[i] <= a[d.back()])
d.pop_back();
d.push_back(i);
if (d.front() == (i - k))
d.pop_front();
if (i >= k)
s += a[d.front()];
}
out << s << "\n";
out.close();
return 0;
}