Pagini recente » Cod sursa (job #634067) | Cod sursa (job #1468439) | Cod sursa (job #636453) | Cod sursa (job #3039316) | Cod sursa (job #1274572)
#include <cstdio>
#include <deque>
using namespace std;
deque<int> V;
long long sum;
int n, A[5000010], k;
void citire()
{
int i;
scanf("%d%d", &n, &k);
for(i=1;i<=n;++i)
scanf("%d", &A[i]);
}
void rezolva_problema()
{
int i;
citire();
for(i=1;i<=n;++i)
{
while(!V.empty()&&A[V.back()]>=A[i])
V.pop_back();
V.push_back(i);
if(V.front()==i-k) V.pop_front();
if(i>=k) sum=sum+A[V.front()];
}
printf("%lld\n", sum);
}
int main()
{
freopen("deque.in", "r", stdin);
freopen("deque.out", "w", stdout);
rezolva_problema();
return 0;
}