Pagini recente » Cod sursa (job #2796930) | Cod sursa (job #24953) | Cod sursa (job #424509) | Cod sursa (job #380306) | Cod sursa (job #1816105)
#include <stdio.h>
#include <deque>
using namespace std;
FILE*f=fopen("deque.in","r");
FILE*g=fopen("deque.out","w");
deque<int> d;
int v[5000020];
int main()
{
int n,k,i;
long long s=0;
fscanf(f,"%d%d",&n,&k);
for (i=1;i<=n;i++)
{
fscanf(f,"%d",&v[i]);
while (!d.empty()&&v[d.back()]>=v[i]) d.pop_back();
d.push_back(i);
if (d.front()==i-k) d.pop_front();
if (i>=k) s+=v[d.front()];
}
fprintf(g,"%lld",s);
fclose(f);
fclose(g);
return 0;
}