Pagini recente » Cod sursa (job #3366754) | Borderou de evaluare (job #3367872) | Cod sursa (job #3366946) | Cod sursa (job #3367965) | Cod sursa (job #3368016)
#include <fstream>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int v[5000005],d[5000005],n,k;
int main(){
fin>>n>>k;
for(int i=1;i<=n;i++)
{
fin>>v[i];
}
int st=1,dr=0;// vid
long long sum=0;
for(int i=1;i<=n;i++)
{
while(st<=dr && v[ d[dr] ] >= v[i] )dr--;
dr++;
d[dr]=i;
if(d[dr]-d[st]>=k) st++;
if(i>=k)sum+=v[d[st]];
}
fout<<sum;
return 0;
}