Pagini recente » Cod sursa (job #704865) | Cod sursa (job #2014903) | Borderou de evaluare (job #1398324) | Monitorul de evaluare | Cod sursa (job #3353783)
#include <fstream>
using namespace std;
ifstream cin("deque.in");
ofstream cout("deque.out");
int v[500001];
int d[500001];
int main()
{
int n,k,i,inc=0,sf=0;
long long s=0;
cin>>n>>k;
for(i=1;i<=n;i++)
cin>>v[i];
for(i=1;i<=n;i++){
while(inc<=sf && v[d[sf]]>=v[i])
sf--;
d[++sf]=i;
if(i>=k){
if(d[inc]<=i-k)
inc++;
s+=v[d[inc]];
}
}
cout<<s;
return 0;
}