Pagini recente » Cod sursa (job #2934041) | Cod sursa (job #2933775) | Cod sursa (job #816288) | Cod sursa (job #1755724) | Cod sursa (job #662140)
Cod sursa(job #662140)
#include <cstdio>
#include <deque>
using namespace std;
int n,k;
int v[500005];
deque <int> d;
int main()
{
int i;
freopen("deque.in","r", stdin);
scanf("%d %d\n",&n,&k);
for(i=1;i<=n;i++) scanf("%d ",&v[i]);
long long S=0;
for(i=1;i<=n;i++)
{
while(d.size()!=0 &&v[d.back()]>=v[i]) d.pop_back();
d.push_back(i);
if(i>=k) S+=v[d.front()];
if(i-k+1==d.front()) d.pop_front();
}
freopen("deque.out","w", stdout);
printf("%lld",S);
fclose(stdin);
fclose(stdout);
return 0;
}