Pagini recente » Kdtree | Cod sursa (job #114451) | Borderou de evaluare (job #732387) | Rezultatele filtrării | Cod sursa (job #1513062)
#include <bits/stdc++.h>
#define LE 5000666
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
deque<int> deq;
int a[LE];
int main()
{
int n,k,i;
f>>n>>k;
for(i=1;i<=n;++i) f>>a[i];
for(i=1;i<k;++i)
{
while (deq.empty()==false&&a[deq.back()]>=a[i]) deq.pop_back();
deq.push_back(i);
}
long long result=0;
for(i=k;i<=n;++i)
{
while (deq.empty()==false&&a[deq.back()]>=a[i]) deq.pop_back();
deq.push_back(i);
while (deq.front()<=i-k) deq.pop_front();
result+=a[deq.front()];
}
g<<result<<'\n';
return 0;
}