Pagini recente » Cod sursa (job #2950871) | Cod sursa (job #356966) | Cod sursa (job #26940) | Cod sursa (job #3227364) | Cod sursa (job #694376)
Cod sursa(job #694376)
#include <cstdio>
#include <vector>
#include <deque>
using namespace std;
int n,k,x;
vector<int> a; deque<int> d;
long long Sum;
int main()
{freopen("deque.in", "rt", stdin);
freopen("deque.out", "wt", stdout);
scanf("%d %d ", &n, &k);
for (register int i=0;i<n;++i) scanf("%d ",&x),a.push_back(x);
if(a[0]<a[1] && a[0]<a[2]) Sum=a[0];
for (register int i=0;i<n;++i)
{while (!d.empty() && a[i]<=a[d.back()]) d.pop_back();
d.push_back(i);
if (d.front() == i-k) d.pop_front();
if (i >= k) Sum += a[d.front()];
}
printf("%lld\n",Sum);
return 0;
}