Pagini recente » Cod sursa (job #2831020) | Cod sursa (job #2178320) | Cod sursa (job #2946838) | Cod sursa (job #860855) | Cod sursa (job #1389294)
#include <cstdio>
using namespace std;
int N,K,a[5000010],q[5000010];
int main(){
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
scanf("%d %d",&N,&K);
int i,l=1,r=0; long long res=0;
for (i=1; i<=N; i++) scanf("%d",&a[i]);
for (i=1; i<=N; i++){
q[++r]=i;
while (r && q[l]<i-K+1) l++;
while (r>l && a[q[r]]<=a[q[r-1]]) q[r-1]=q[r],r--;
if (i>=K) res+=a[q[l]];
}
printf("%lld\n",res);
}