Pagini recente » Cod sursa (job #2310857) | Cod sursa (job #344190) | Cod sursa (job #5452) | Cod sursa (job #287607) | Cod sursa (job #3002511)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int a[5000005], n, k;
long long sol = 0;
deque <int> d;
int main()
{
int i;
fin >> n >> k;
for (i = 1; i <= n; i++)
fin >> a[i];
for (i = 1; i <= n; i++)
{
while (!d.empty() and a[d.back()] > a[i])
d.pop_back();
d.push_back(i);
if (i - k == d.front())
d.pop_front();
if (i >= k)
sol += a[d.front()];
}
fout << sol << "\n";
return 0;
}