Pagini recente » Cod sursa (job #2485651) | Cod sursa (job #429993) | Cod sursa (job #2193561) | Cod sursa (job #1449674) | Cod sursa (job #1792553)
#include<cstdio>
#include<deque>
using namespace std;
deque<int> deck;
int v[5000007],n,k;
long long s;
int main()
{
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
scanf("%d %d",&n,&k);
for(int i=1; i<=n; i++)
scanf("%d",&v[i]);
for(int i=1; i<=n; i++)
{
while(!deck.empty() && v[i]<=v[deck.back()])
deck.pop_back();
deck.push_back(i);
if(deck.front()<=i-k)
deck.pop_front();
if(i>=k)
s+=v[deck.front()];
}
printf("%lld",s);
}