Pagini recente » Cod sursa (job #793143) | Cod sursa (job #1509266) | Cod sursa (job #252402) | Cod sursa (job #170452) | Cod sursa (job #3264692)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
int v[5000010];
deque <int> dq;
int main()
{
ifstream cin ("deque.in");
ofstream cout ("deque.out");
long long n, k, a, sum=0, intervals=0;
cin >> n >> k;
dq.push_front(1);
cin >> v[1];
for (int i=2; i<=n; i++)
{
cin >> a;
v[i] = a;
while ((!dq.empty()) && (a < v[dq.back()]))
{
dq.pop_back();
}
dq.push_back(i);
if ((dq.back() - dq.front() + 1) > k)
{
dq.pop_front();
}
if ((intervals == 1) || (i == k))
{
sum += v[dq.front()];
intervals = 1;
}
}
cout << sum << '\n';
return 0;
}