Pagini recente » Cod sursa (job #2751991) | Cod sursa (job #997409) | Cod sursa (job #2119267) | Cod sursa (job #2949517) | Cod sursa (job #1257516)
#include<cstdio>
#define MAX 5000000
using namespace std;
int v[MAX+1];
int st[MAX+1];
int str,fin;
int main(){
freopen ("deque.in","r",stdin);
freopen ("deque.out","w",stdout);
int n,i,k;
long long sum;
scanf ("%d%d",&n,&k);
sum=0;
str=0;
fin=0;
for(i=1;i<k;i++){
scanf ("%d",&v[i]);
while(v[i]<=v[st[fin-1]] &&fin>str)
fin--;
st[fin]=i;
fin++;
}
for(;i<=n;i++){
scanf ("%d",&v[i]);
while(v[i]<=v[st[fin-1]] &&fin>str)
fin--;
st[fin]=i;
fin++;
if (st[str]==i-k) str++;
sum=sum+v[st[str]];
}
printf ("%lld",sum);
return 0;
}