Pagini recente » Cod sursa (job #2068084) | Cod sursa (job #507316) | Cod sursa (job #758567) | Cod sursa (job #86632) | Cod sursa (job #2864044)
#pragma region
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#pragma endregion
int main() {
freopen("deque.in", "r", stdin);
freopen("deque.out", "w", stdout);
int n, k = 0;
scanf("%d%d", &n, &k);
vector<int> vect(n);
for (int i = 0; i < n; i++)
scanf("%d", &vect[i]);
vector<int> myDeque(n);
int front = 0, back = -1;
ll sum = 0;
for (int i = 0; i < n; i++) {
while (front <= back && vect[myDeque[back]] >= vect[i])
back--;
myDeque[++back] = i;
if (i - k == myDeque[front])
front++;
sum += (i >= k - 1) ? vect[myDeque[front]] : 0;
}
printf("%lld", sum);
fclose(stdin);
fclose(stdout);
return 0;
}