Pagini recente » Cod sursa (job #2803020) | Cod sursa (job #1896265) | Cod sursa (job #543305) | Cod sursa (job #3155552) | Cod sursa (job #1606486)
#include <cstdio>
#include <deque>
using namespace std;
deque <int> q;
int v[500005];
int main()
{
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
int n,k,i;
long long sum=0;
scanf("%d%d",&n,&k);
for(i=1;i<=n;i++)
{
scanf("%d",&v[i]);
while(!q.empty())
{
if(v[q.back()]>=v[i]) q.pop_back();
else break;
}
q.push_back(i);
while(q.front()<i-k+1) q.pop_front();
if(i>=k) sum+=v[q.front()];
}
printf("%lld\n",sum);
return 0;
}