Pagini recente » Cod sursa (job #708085) | Cod sursa (job #283549) | Cod sursa (job #1377240) | Cod sursa (job #1925968) | Cod sursa (job #1404771)
#include <bits/stdc++.h>
using namespace std;
deque<int>q;
int v[5000005], i, n, k;
long long sol;
int main()
{
freopen("deque.in", "r", stdin);
freopen("deque.out", "w", stdout);
scanf("%d%d", &n, &k);
for(i = 1; i < k; i++)
{
scanf("%d", &v[i]);
while(q.size() && v[q.back()] >= v[i])
q.pop_back();
q.push_back(i);
}
for(; i <= n; i++)
{
scanf("%d", &v[i]);
while(q.size() && v[q.back()] >= v[i])
q.pop_back();
q.push_back(i);
if(i - q.front() == k)
q.pop_front();
sol += v[q.front()];
}
printf("%lld\n", sol);
return 0;
}