Pagini recente » Treap-uri | Monitorul de evaluare | Profil M@2Te4i | Monitorul de evaluare | Cod sursa (job #710006)
Cod sursa(job #710006)
#include<cstdio>
long n, k, i, fr, bk, dq[5000005];
long long s, a[5000005];
int main () {
freopen("deque.in", "r", stdin);
freopen("deque.out", "w", stdout);
scanf("%ld %ld", &n, &k);
for (i=1; i<=n; i++) scanf("%lld", &a[i]);
fr=1; bk=0;
for (i=1; i<=n; i++) {
while (fr<=bk && a[i]<=a[dq[bk]]) bk--;
bk++; dq[bk]=i;
if (dq[fr]==i-k) fr++;
if (i>=k) s+=a[dq[fr]];
}
printf("%lld", s);
return 0;
}